【发布时间】:2009-10-23 14:13:38
【问题描述】:
我的应用程序有数百页。现在我必须在表单的onSubmit 上附加一个事件disablePage。我不想去每一页都写:
<form name="frmname" onSubmit="disablePage();">
我现在正在做的是:-
common.js 文件的摘录; [包含在所有页面中]
/* we have to attach 'attachFormSubmit' method on onLoad event,
otherwise forms[0] will always be null. If there is any alternative,
then please suggest one */
if (window.addEventListener){
window.addEventListener('load', attachFormSubmit, false);
} else if (window.attachEvent){
window.attachEvent('onload', attachFormSubmit );
}
function attachFormSubmit(){
forms = document.getElementsByTagName('Form');
if ( forms[0] ){ // there is only one form in all pages
if (forms[0].addEventListener){
forms[0].addEventListener('submit', disablePage, false);
} else if (forms[0].attachEvent){
forms[0].attachEvent('onsubmit', disablePage);
}
}
}
function disablePage(){
document.getElementById("pageHideDivID").style.display='inline';
}
至此一切正常,disablePage() 已附加到所有页面的表单中。
但问题是,如果有人已经将任何方法附加到onSubmit 或onLoad,那么也应该执行。我猜根据我的代码,代码永远不会被执行。
我应该怎么做才能链接他们的方法?
请不要使用 JQuery。
【问题讨论】:
标签: javascript dom-events chaining method-chaining