Evite los envíos de botones con BootBox Confirmar y mostrar sus valores en el mensaje
-
20-12-2019 - |
Pregunta
Tengo una forma simple con 3 botones, cada uno haciendo una acción diferente.En el clic de uno, quiero que el usuario confirme su acción usando bootbox.confirm ().Quiero que la casilla de confirmación muestre: "¿Está seguro de su elección:" + valor?¿Cómo puedo lograr esto?
html:
<form action="" method="post">
<button type="submit" name="action" value="success" class="confirm"></button>
<button type="submit" name="action" value="fail" class="confirm"></button>
<button type="submit" name="action" value="no exam" class="confirm</button>
</form>
javascript / jquery I intenté:
<script>
$(document).ready(function() {
$(document).on("click", ".confirm", function(e) {
e.preventDefault();
bootbox.confirm("Are you sure for your choice?", function(result) {
if (result) {
console.log("user confirmed");
} else {
console.log("user declined");
}
});
});
});
</script>
¿Es esta la forma correcta (con clases en cada botón) o tengo que seleccionar el formulario? Recibo el cuadro de confirmación y los registros correctamente, pero en el éxito, no sé cómo enviarlo.Además, no sé cómo poner el valor elegido en el mensaje.
Solución
Esperemos que haya podido resolver esto, pero si no aquí está todo lo que faltó. Además, debido a que este flujo es Async, no mueva el E.PreventDEFAULT () a la devolución de llamada.
$(document).ready(function() {
$(document).on("click", ".confirm", function(e) {
e.preventDefault();
var $this = $(this);
bootbox.confirm("Are you sure for your choice: "+$this.val()+"?", function(result) {
if (result) {
console.log("user confirmed");
} else {
console.log("user declined");
}
});
});
});