我正在尝试使用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 举报,一经查实,本站将立刻删除。