Empêcher les soumissions de boutons avec Bootbox Confirmer et afficher leurs valeurs sur le message

StackOverflow https://stackoverflow.com//questions/20011725

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.

Était-ce utile?

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");
            }
        });
    });
});

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top