使用JavaScript同时提交2个表单

前端之家收集整理的这篇文章主要介绍了使用JavaScript同时提交2个表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

代码很简单:

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

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

非常感谢您的帮助:)

编辑

这是我实际使用的:

  1. for (....) {
  2. var form = document.createElement("form");
  3. form.setAttribute("name","report_"+i);
  4. form.setAttribute("method","POST");
  5. form.setAttribute("target","_blank");
  6. form.setAttribute("action",action);
  7. for (var key in parms) {
  8. var field = document.createElement("input");
  9. field.setAttribute("type","hidden");
  10. field.setAttribute("name",key);
  11. field.setAttribute("value",parms[key]);
  12. form.appendChild(field);
  13. }
  14. console.log(form);
  15. document.body.appendChild(form);
  16. form.submit();
  17. document.body.removeChild(form);
  18. }
最佳答案
这不是最漂亮的方式,但我认为无论如何分享它会很好.我最后使用setTimeout解决了它:

  1. var requestDelay = 2000;
  2. document.getElementById("form-a").submit();
  3. setTimeout(function() {
  4. document.getElementById("form-b").submit();
  5. },requestDelay);

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

猜你在找的HTML相关文章