JavaScriptを使用して、同時に2つのフォームを送信しようとしています。ただし、最初の送信ではなく、2 番目の送信のみが開かれているようです。
コードはかなり単純です。
<html>
<body>
<form id="report_0" method="POST" target="_blank" action="https://www.google.com">
<input type="hidden" name="test1" value="1">
<input type="submit" value="report_0">
</form>
<form id="report_1" method="POST" target="_blank" action="https://www.google.com">
<input type="hidden" name="test2" value="2">
<input type="submit" value="report_1">
</form>
<script>
document.getElementById("report_0").submit();
document.getElementById("report_1").submit();
</script>
</body>
</html>
「ネイティブ」POSTでなければならないため、ajaxまたは同等のものを使用できません(CORSの問題のため)
一度に 2 つのフォームを送信することはできないとどこかで読みましたが、これは意味がありません。ターゲットを「_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);
}