Empêcher les soumissions de boutons avec Bootbox Confirmer et afficher leurs valeurs sur le message
-
20-12-2019 - |
Question
J'ai une forme simple avec 3 boutons, chacun effectuant une action différente.Sur un clic, je souhaite que l'utilisateur confirme son action à l'aide de bootbox.Confirm ().Je veux que la boîte de confirmation affiche: "Êtes-vous sûr de votre choix:" + valeur.Comment puis-je atteindre cela?
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 j'ai essayé:
<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>
est-ce la bonne façon (avec des classes sur chaque bouton) ou je dois sélectionner le formulaire? Je reçois la boîte de confirmation et les journaux correctement, mais sur le succès, je ne sais pas comment soumettre.Aussi, je ne sais pas comment mettre la valeur choisie dans le message.
La solution
Espérons que vous avez été capable de comprendre cela, mais si ce n'est pas ici, tout ce qui vous manque. En outre, parce que ce flux est asynchrone, ne déplacez pas le e.preventDefault () au rappel.
$(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");
}
});
});
});