Actaully moja aplikacja ma setki stron. Teraz muszę dołączyć zdarzenie "disablePage" w onSubmit formularza. Nie chcę iść do każdego i każdej strony i napisać:Jak dołączyć zdarzenie do zdarzenia onSubmit formularza z wykorzystaniem wcześniej połączonych metod łączenia?
<form name="frmname" onSubmit="disablePage();">
co robię teraz, to: -
fragment common.js pliku; [Zawarte we wszystkich stron]
/* 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';
}
Do tego punktu wszystko jest w porządku, disablePage() jest przymocowany do form wszystkich stronach.
Ale problem polega na tym, że jeśli ktoś już podłączył jakąkolwiek metodę do metody onSubmit lub onLoad, to również powinno zostać wykonane. I zgaduję, według mojego kodu, że kod nigdy nie zostanie wykonany. Co powinienem zrobić, aby połączyć ich metody?
No JQuery please
Czy to oznacza, że nie muszę się martwić o łańcuchy metod? –
Tak sądzę. Czy próbowałeś? Możesz po prostu dołączyć dwa zdarzenia i sprawdzić, czy oba działają. – ujh