jQuery提交多个表单时只提交一个表单

jQuery submits only one form when multiple forms are submitted

我正在写一个 chrome 扩展。在我的内容脚本中,我使用 target = "_blank" 将两种形式注入 DOM。表格在页面上可见

表格 1

<form action="page1.php" target="_blank" id="form1" method="POST">
    <input type="submit" value="Save" id="savebutton1">
</form>

表格 2

<form action="page2.php" target="_blank" id="form2" method="POST">
    <input type="submit" value="Save" id="savebutton2">
</form>

我想使用 jQuery 提交两个表格,所以我写了 ;

   $( "#form1" ).submit();
   $( "#form2" ).submit();

但最后只打开一个选项卡,即仅提交最后一个表单而我的第一个表单被忽略。但是我想打开两个标签

我不仅可以在一个选项卡中看到 page2.php。我的 page1.php 从未被调用过。请帮助解决问题

这是不可能的。

浏览器只能提交一个表单并处理单个表单在服务器上生成的任何重定向。

如果您需要提交多个表单,则需要采用不同的方法,例如使用 ajax

正如@charlietfl 所说,这无法像您尝试的那样完成。

但是,根据您的后端系统,您也许能够制作复合表单并在那里解析数据。 C#,我知道,可以处理这个。

<input name="form1.xxx">
<input name="form2.xxx">

然后,您可以在 C# 中创建您的对象

class Form1 {
    xxx: string
}

class Form2 {
    xxx: string
}

class Combined {
  form1: Form1,
  form2: Form2
}

访问方式:Combined.form1.xxx