Actaully mi aplicación está teniendo cientos de páginas. Ahora tengo que adjuntar un evento 'disablePage' onSubmit of form. No quiero ir a todos y cada página y escribir:¿Cómo adjuntar un evento al evento de presentación onSubmit con el encadenamiento de los métodos adjuntos anteriores también?
<form name="frmname" onSubmit="disablePage();">
lo que estoy haciendo en este momento es: -
extracto del archivo common.js; [Incluido en todas las páginas]
/* 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';
}
Hasta este punto todo está bien, disablePage() se une a las formas de toda la página.
Pero el problema es que si alguien ya ha adjuntado algún método a onSubmit o onLoad, entonces también debería ejecutarse. Y supongo que de acuerdo con mi código, ese código nunca se ejecutará. ¿Qué debo hacer para encadenar su método también?
No JQuery please
¿significa eso que no tengo que preocuparme por encadenar los métodos? –
Creo que sí. ¿Has probado? Podría adjuntar dos eventos y ver si ambos surten efecto. – ujh