我如何继续提交使用e.preventDefault()
的jQuery拦截的表单?如果我只是致电$(form).submit()
,显然不会提交。下面是我当前脚本的一个示例。
$(form).submit(function (e) {
e.preventDefault();
// Code...
if (true) {
$(form).submit();
} else {
// Code...
}
});
答案 0 :(得分:5)
因为您通过调用jQuery submit
方法导致对事件处理程序的递归调用(jQuery submit
方法将再次调用处理程序,其中调用了prevent default,从而阻止了默认操作),相反,您只需调用form
元素的submit
方法,以便不再调用事件处理程序
$(form).submit(function(e) {
e.preventDefault();
var self = this;
// Code...
if (true) {
self.submit();
} else {
// Code...
}
});
答案 1 :(得分:3)
改为调用原生DOM方法:
form.submit();
这不会触发与jQuery方法绑定的submit
事件。