Bootbox提交确认。为什么onclick会在提交之前运行,即使它是使用preventDefault()运行的?

时间:2017-11-21 18:18:12

标签: javascript jquery html twitter-bootstrap bootbox

我一直在尝试在提交表单数据之前实现一个确认框。(请注意,由于缺乏自定义,默认确认框是不可能的。)

截至目前,我使用Bootbox.min.js代码:

https://codepen.io/IdontCommentMyCode/pen/XzEaMB

  $('#menuKategori li a').click(function () {
      var gelenVeri = $(this).text();
function thatFunction() {
  bootbox.confirm({
    message: "CUIDADO! Ao proceder podera perder dados. <br> Pretende avançar?",
    size: "small",
    buttons: {
      confirm: {
        label: 'Sim',
        className: 'btn-success'
      },
      cancel: {
        label: 'Não',
        className: 'btn-danger'
      }
    },
    callback: function(result) {
      console.log('This was logged in the callback: ' + result); //Função default para demonstração do funcionamento


      $('from1').submit(function(e) {
        var currentForm = this; // Necessário 
        e.preventDefault(); // Previne o Submit do botão original
        bootbox.confirm("Are you sure?", function(result) {
          if (result) { // Se callback === True então o  Form é submetido
            currentForm.submit();
          }
        });


      });
    }
  });
};

单击按钮时发生的事情是在运行onclick函数之前进行提交。这导致提交的表单和确认发生后的确认。根据我的理解,该函数运行,防止默认类型=“提交”,并且仅在确认提交表单后。我的逻辑是正确的吗?

除了这个问题,我的一个问题是:

是否可以使用函数将按钮转换为type =“submit”并在同一函数结束时提交?

0 个答案:

没有答案