我需要打开多个窗口,其中大部分值相同但很少有不同值(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 和 IE,它只打开一个窗口(不确定它是否覆盖了同一选项卡中的先前窗口)。在 chrome 中它显示最后一个 targetNum
为 2
的窗口,在 IE 中它显示第一个 targetNum
即 0
。
我的目标是通过 Chrome 和 IE 实现 Firefox 的行为,即打开具有各自表单值的多个窗口。
在某处寻找解决方案时,我发现了一个论坛帖子,上面说要添加 onsubmit="this.action=this.action + '1';"
在我的表单标签下,尝试了相同但它没有用。
附注:不能使用 window.open,因为我从 java bean 填充值,并且它会随着最后一个打开的窗口而被覆盖。
最佳答案
不确定您正在寻找这种解决方案。我已经像下面这样修改了你的脚本。希望对您有所帮助。
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);
}
}
关于javascript - _blank 目标表单在 chrome 和 IE 中循环提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20999481/