javascript - Adding a second submit handler -


i trying modify existing web page looks this

<script type="text/javascript" src="s1.js"></script> 

s1.js has this

window.ondomready = domready;  function domready(fn) {     if(document.addeventlistener)     {         document.addeventlistener("domcontentloaded", fn, false);     }     else     {         document.onreadystatechange = function(){chstate(fn);};     } }  function chstate(fn) {     if(document.readystate == "interactive" || document.readystate == "complete")         fn(); }   window.ondomready(addhndlrs);  function addhndlrs() {     var forms = document.getelementsbytagname("form");     for(var = 0; < forms.length; i++)      {         var form = forms[i];         if(form.addeventlistener)         {             form.addeventlistener("submit", dovalidate, false);         }         else if (form.attachevent)         {             form.attachevent("onsubmit", dovalidate);         }           other stuff.      } 

when click submit on form, dovalidate called.

i trying modify page add submit handler called after first one.

i copied above code, changed function names & put s2.js.

window.ondomready = dready;  function dready(fn) {     if(document.addeventlistener)     {         document.addeventlistener("domcontentloaded", fn, false);     }     else     {         document.onreadystatechange = function(){chk1state(fn);};     } }  function chk1state(fn) {     if(document.readystate == "interactive" || document.readystate == "complete")         fn(); }  window.ondomready(myready);  function myready() {     var forms = document.getelementsbytagname("form");     for(var = 0; < forms.length; i++)      {         var form = forms[i];         if(form.addeventlistener)          {             form.addeventlistener("submit", mynewhandler, false);         }         else if (form.attachevent)          {             form.attachevent("onsubmit", mynewhandler);         }     }  } 

in form html, added reference it

<script type="text/javascript" src="s1.js"></script> <script type="text/javascript" src="s2.js"></script> 

my new submit handler never gets called. debugged through firebug - see dready being called , dom ready handler being registered. myready never gets called, submit handler never gets registered.

what missing here? tried changing order of inclusion of s1.js , s2.js doesn't seem help. want without modifying s1.js

the code provided seems fine! have checked in chrome 25, firefox 19 , ie 10!

normally find easier modify code @ runtime (not source file), javascript being dynamic typed, overwrite dovalidate function own, passing original dovalidate through closure in s2.js:

var originalvalidate = dovalidate; dovalidate = function () {     originalvalidate();     alert("my handler"); }; 

Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -