我需要打开多个相同但很少有不同值的多个窗口(Chrome n IE未按预期执行代码)。 这是我的方式中的 javascript 代码..
function test(){
for(var i=0; i<3; i++){
var eForm = document.forms[0];
eForm.action = "demo_form.asp?targetNum="+i;
eForm.target = "_blank";
eForm.submit();
}
}
这是我的html表单..
<form method="post">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="button" value="Submit" onclick="test();">
</form>
此代码与firefox完美运行,正如预期的那样打开3个标签。但是使用chrome&amp; IE它只打开一个窗口(不确定它是否覆盖同一选项卡中的先前窗口)。在Chrome中,它显示最后targetNum
为2
的窗口,在IE中显示第一个targetNum
,即0
。
我的目标是使用chrome和IE实现firefox的行为,即打开具有相应表单值的多个窗口。
在寻找soln的某个地方,我找到了一个论坛帖子,上面写着在我的表格标签下添加onsubmit="this.action=this.action + '1';"
,尝试了同样的但是没有用。
P.S。:不能使用window.open,因为我从java bean填充值并且在最后一个窗口打开时获取覆盖。
答案 0 :(得分:1)
不确定你是否正在寻找这种解决方案。我修改了你的脚本,如下所示。希望它会对你有所帮助。
var i=0;
function test(){
var eForm = document.forms[0];
eForm.action = "demo_form.asp?targetNum="+i;
eForm.target = "_blank";
if(i!=3)
{
setTimeout(function(){ i++; eForm.submit(); test(); },100);
}
}