使用原始JavaScript提交函数时,jQuery验证不会触发

kar*_*una 2 html javascript jquery jquery-validate

我在表单上有jQuery验证.单击"提交"按钮时,将调用"保存"功能:

function save(){
    var form = document.getElementById('myForm');
    form.submit(); // <- jquery validation is not called
    $(form).submit() // <- jquery validation works
}
Run Code Online (Sandbox Code Playgroud)

为什么form.submit()没有验证我的表单?

Ber*_*rgi 6

本机submit方法(W3规范)将提交表单,而不是其他任何内容.它不会触发可取消的submit事件(请参阅表单提交的概念).

jQuery的submit方法是别名.trigger("submit"),但" 此外,表单上的默认提交操作将被触发 [调用] ,因此表单将被提交. "

您的验证将侦听那些使用本机提交方法时不会发生的提交事件.