我想要一个jQuery表单提交处理程序来尊重任何以前的提交处理程序,包括添加了onsubmit
的处理程序。
我正在尝试检测前一个处理程序的返回值但似乎无法执行此操作:
<form><input type="submit" /></form>
<script type="text/javascript">
$('form')[0].onsubmit = function() { return false; }; // called first
$('form').submit(function(e) {
console.log(e.result); // undefined
console.log(e.isDefaultPrevented()); // false
console.log(e.isPropagationStopped()); // false
console.log(e.isImmediatePropagationStopped()); // false
});
</script>
有办法做到这一点吗?
答案 0 :(得分:0)
我发现了一种非jQuery方法:
var form = $('form')[0];
var old_onsubmit = form.onsubmit;
form.onsubmit = function() {
if ($.isFunction(old_onsubmit)) {
if (old_onsubmit() === false) {
console.log("false");
return false;
}
}
console.log("true");
return true;
}
但我更喜欢从jQuery绑定的提交处理程序
中检测到这一点