如何强制提交 - 提交事件中的异步代码

How to force submit - Asynchronous code in submit event

我试图强制提交我的表单,问题是我使用 bootboxjs (使用异步代码)在提交前制作一个确认对话框,这正是我想要的,所需的输入也以这种方式验证。

这是我的 JS 代码的结构:

$("#myForm").submit(function(e){
  bootbox.confirm({
    message: "Are you sure?",
    buttons: {
        confirm: {
            label: 'Yes',
            className: 'btn-danger'
        },
        cancel: {
            label: 'NO, STOP!',
            className: 'btn-primary'
        }
    },
    callback: function (result){
      if (result)
      {
        // Some code to set values to hidden inputs and another irrelevant stuff...
        // The right command (that I didn't know) to force the form
      }
    }
  });
  return false;
});

如何避免此问题并保留对所需输入的验证?

您可以阻止 jquery 事件并在您准备好时使用本机事件强制浏览器默认提交

$("#myForm").submit(function(e){
  // store reference to form due to callback context
  var form = this;

  bootbox.confirm({
    message: "Are you sure?",
    buttons: {... },
    callback: function (result){
      if (result)
      {
        // Some code to set values to hidden inputs and another irrelevant stuff...
        // Now use native submit

         form.submit();
      }
    }
  });
  // prevents jQuery submit only
  return false;
});