【发布时间】:2014-01-26 18:42:41
【问题描述】:
我需要打开多个具有大部分相同但很少有不同值的窗口(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';",尝试了同样的方法,但没有成功。
P.S.: 不能使用 window.open,因为我正在从 java bean 填充值,并且会被最后一个打开的窗口覆盖。
【问题讨论】:
-
在 chrome 和 IE 中工作,与您发布的代码相同
-
您能分享一下您的 chrome 版本吗?我的是 31.0.1650.63m
-
@vikas,它是否在您的 chrome 浏览器上打开了 3 个标签?
-
Chrome 只会阻止一个以上的打开弹出窗口。导致您的表单带有 target="_blank" - 这是一个新的弹出窗口。所以它只打开其中一个。在我的 Chomium 中,我打开了第一个,Chromium 向我显示该站点已阻止弹出窗口。
标签: javascript html forms internet-explorer google-chrome