Pergunta

Tenho um formulário simples com 3 botões, cada um realizando uma ação diferente.Com um clique, quero que o usuário confirme sua ação usando bootbox.confirm().Quero que a caixa de confirmação seja exibida:"Tem certeza da sua escolha:" + valor.Como posso conseguir isso?

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 eu tentei:

<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>

Este é o caminho certo (com classes em todos os botões) ou tenho que selecionar o formulário?Recebo a caixa de confirmação e os logs corretamente, mas em caso de sucesso não sei como enviar.Também não sei como colocar o valor escolhido na mensagem.

Foi útil?

Solução

Esperamos que você tenha conseguido descobrir isso, mas se não, aqui está tudo o que estava faltando.Além disso, como esse fluxo é assíncrono, não mova e.preventDefault() para o retorno de chamada.

$(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");
            }
        });
    });
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top