我正在编写一个附加的 javascript,旨在在提交表单时捕获信息。我需要适应网页上可能有多个表单的场景,其中没有/某些/所有可能已经定义了 onsubmit 处理程序....并且我需要在调用附加代码后触发原始处理程序。
我有一个带有 2 个表单的测试用例设置,第一个没有 onsubmit 处理程序,第二个是简单的警报框。
我尝试了下面的代码 - 但这似乎将预先存在的处理程序从 form2 复制到 form1 中:
window.onload=pageinit;
function pageinit()
{
for (var x=0; x < document.forms.length; x++) {
var origSubmit=document.forms[x].onsubmit;
if (typeof origSubmit != 'function') {
document.forms[x].onsubmit=dosubmit;
} else {
document.forms[x].onsubmit = function (event) {
dosubmit(event);
return origSubmit(event);
}
}
}
}
function dosubmit(ev)
{
alert('bolt-on invoked from ' + ev.target.name);
}
有任何想法吗?
TIA