javascript - jQuery:停止提交表单,执行脚本,继续提交表单?

标签 javascript jquery-selectors jquery

我有一个表单,当我提交他时,我执行多个脚本。这是我的代码:

$("#RequestCreateForm").submit(function (e) {
    if ($("#RequestCreateForm").validate().checkForm() == false) { return; }

    e.preventDefault();

    //many scripts

    //How to continue submitting?
}

是否可以在//many script之后继续提交表单(通过e.preventDefault();停止)?

谢谢

最佳答案

当您调用 $("#RequestCreateForm").submit() 时,脚本将再次运行事件处理程序,并导致无限循环(正如 Koen 在评论中指出的那样)已接受的答案)。因此,您需要在提交之前删除事件处理程序:

$("#RequestCreateForm").on('submit', function (e) {
    e.preventDefault();
    // do some stuff, and if it's okay:
    $(this).off('submit').submit();
});

最后一行需要位于条件语句中,否则它总是会发生,并否定顶部的 e.preventDefault();

关于javascript - jQuery:停止提交表单,执行脚本,继续提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6113560/

相关文章:

Javascript 未设置数组

javascript - React Developer Tools 如何判断网页使用的是 React?

javascript - 如何按属性名称开头删除所有属性

jquery 验证插件 - 内联取决于

javascript - 删除 foreach 循环中的匹配项

javascript - Fabric.js - 如何从 Sprite 表制作动画

javascript - 如何用 crypto.getRandomValues() 替换 Math.random() 并保持相同的结果?

字符串中的 jQuery 选择器通配符

javascript - 使用表格时,Jquery Next() 无法正确突出显示下一个元素

javascript - 克隆作为唯一元素的元素