javascript - _blank 目标表单在 chrome 和 IE 中循环提交

标签 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 和 IE,它只打开一个窗口(不确定它是否覆盖了同一选项卡中的先前窗口)。在 chrome 中它显示最后一个 targetNum2 的窗口,在 IE 中它显示第一个 targetNum0

我的目标是通过 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/

相关文章:

javascript - highstock 图中同系列线的颜色不同?

javascript - jQuery Accordion 在其内容被清空并重新创建后不起作用

javascript - 如何让键盘+屏幕阅读器访问我的 Accordion ?

javascript - 迭代表单中除一个元素之外的所有元素

javascript - AJAX 登录脚本不再起作用

html - 具有渐变叠加的图像,但文本应在前面(无不透明度)

html - 将 subdiv 高度设置为未指定高度的父 div 的 33%

php - 在 CMS 中插入表单 - <选项> 和页面

ruby-on-rails - 带 Elasticsearch 的Select_tag

javascript - 覆盖 Node.js HTTP 解析器