Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在提交事件中强制提交异步代码_Javascript_Jquery_Html_Forms_Form Submit - Fatal编程技术网

Javascript 如何在提交事件中强制提交异步代码

Javascript 如何在提交事件中强制提交异步代码,javascript,jquery,html,forms,form-submit,Javascript,Jquery,Html,Forms,Form Submit,我试图强制提交我的表单,问题是我使用了 (使用异步代码)在提交之前创建确认对话框,这正是我想要的,而且所需的输入也会以这种方式进行验证 这是我的JS代码的结构: $("#myForm").submit(function(e){ bootbox.confirm({ message: "Are you sure?", buttons: { confirm: { label: 'Yes', className: 'bt

我试图强制提交我的表单,问题是我使用了 (使用异步代码)在提交之前创建确认对话框,这正是我想要的,而且所需的输入也会以这种方式进行验证

这是我的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;
});

你能进一步澄清这个问题吗!!问题是我不知道在做了一些事情之后如何强制提交表单(请参阅我问题中的JavaScript代码)与
表单.submit()不同
请您澄清一下,我很好奇。因为
这个
不是jQuery对象…它是实际的元素…所以您使用的不是jQuery submit(),而是原生javascript
submit()
,它绕过了jQuery事件listenergreat!谢谢你的解释。我知道这是离题的,但你认为有人可以通过阅读这本书来学习这类东西吗?这是一本众所周知的书……但在这种情况下,这是一个jQuery技巧,真正来自于经验和对jQuery工作原理的深入理解