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

jQuery submits only one form when multiple forms are submitted

本文关键字:表单 提交 一个 jQuery      更新时间:2023-09-26

我正在编写一个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 访问