我想要一种在任何onsubmit
处理程序取消表单onsubmit
时检测/触发函数的方法。这样做最可靠的方法是什么?
答案 0 :(得分:1)
总结一下......
// This code should execute last (after onsubmit was already assigned)
var oldsub = document.forms[0].onsubmit;
document.forms[0].onsubmit = function() {
if(!oldsub)
alert("Onsubmit did not exist!");
else if(oldsub())
alert("Onsubmit passed!");
else
alert("Onsubmit failed!");
}
答案 1 :(得分:1)
您可以使用自己的代码覆盖所有表单“onsubmit
”处理程序:
var f = document.getElementById('myForm'); // or whatever
if (f.onsubmit) {
var oldSubmit = f.onsubmit;
f.onsubmit = function () {
var result = oldSubmit.call(this);
if (result === false) {
alert("Cancelled.");
}
return result;
};
}
答案 2 :(得分:0)
我可能错了,但是会在一个处理程序上返回false
取消堆栈吗?如果做不到这一点,您可以在每个事件上附加一个检查调用,以检查堆栈中的另一个是否被取消。