微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用JavaScript同时提交2个表单

我正在尝试使用javascript同时提交2个表单.
但是,似乎只有第二次提交被打开,而不是第一次提交.

代码很简单:

我不能使用ajax或等价物,因为它必须是’本机’POST(由于CORS问题)

我在某处读到你不能同时提交两份表格,这对我来说没有意义.我已经尝试将目标从“_blank”改为“form1”& “form2”但仍然没有.

非常感谢您的帮助:)

编辑

这是我实际使用的:

for (....) {
       var form = document.createElement("form");
       form.setAttribute("name","report_"+i);
       form.setAttribute("method","POST");
       form.setAttribute("target","_blank");
       form.setAttribute("action",action);

       for (var key in parms) {
           var field = document.createElement("input");
           field.setAttribute("type","hidden");
           field.setAttribute("name",key);
           field.setAttribute("value",parms[key]);
           form.appendChild(field);
       }
       console.log(form);
       document.body.appendChild(form);
       form.submit();
       document.body.removeChild(form);
}
最佳答案
这不是最漂亮的方式,但我认为无论如何分享它会很好.我最后使用setTimeout解决了它:

var requestDelay = 2000;
document.getElementById("form-a").submit();

setTimeout(function() {
    document.getElementById("form-b").submit();
},requestDelay);

这样,它等待表单A(可能,估计为2秒)已提交,然后提交表单B.您可能需要使用requestDelay来满足您的需求.

原文地址:https://www.jb51.cc/html/425978.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐