_blank目标表单提交循环中的chrome和; IE

时间:2014-01-08 15:14:51

标签: javascript html forms internet-explorer google-chrome

我需要打开多个相同但很少有不同值的多个窗口(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中,它显示最后targetNum2的窗口,在IE中显示第一个targetNum,即0

我的目标是使用chrome和IE实现firefox的行为,即打开具有相应表单值的多个窗口。

在寻找soln的某个地方,我找到了一个论坛帖子,上面写着在我的表格标签下添加onsubmit="this.action=this.action + '1';",尝试了同样的但是没有用。

P.S。:不能使用window.open,因为我从java bean填充值并且在最后一个窗口打开时获取覆盖。

1 个答案:

答案 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); 
    }
}