如何用一个提交按钮更新2个表单


How to update 2 forms with one submit button

我在我的页面上有2个表单,我希望用一个提交按钮更新。

我能够成功地单独更新每个表单,但是,我还没有能够使用相同的按钮同时更新它们。

第一个表单通过位于我放置按钮的同一页面(例如page1.php)上的php代码更新。

第二个表单通过重定向到另一个页面(我们说page2.php)更新,其中一个事件被调用/处理(完成后,页面重定向回page1.php,在那里可以查看更改),我使用onclick="page2.php"来实现这一点。

我想知道当我点击按钮时,我应该如何让这两个表单都更新。

代码示例:

<form id="form" method="post" action="page1.php">
   <input type="submit" class="button" value="Submit" onclick="form.action=''page2.php'';" />
</form>

假设通过更新表单,您指的是提交,您不可能一次提交两个表单,因为您不能同时有两个重定向(它只是没有意义)。

但是,其中一个选项是通过AJAX调用提交第一个表单,如果响应是正确的,则执行其他表单的正常提交。这也是有道理的,因为你说你提交的第一个表单到当前页面,这意味着没有布局改变,等等。

理想情况下,您应该为AJAX调用创建一个新的登陆页面(不需要在后台呈现整个页面),它将输出您在那里所做的任何事情的结果(例如,更新数据库,如果成功,则返回'ok')。然后只需检查响应是否为预期的响应(在上面的情况下为'ok',尽管您可能希望返回一些更多的信息,如id或其他东西),如果是,请定期提交第二个表单。

希望这没有让你太困惑。


我建议的另一种方法更简单,但需要改变应用程序流程。

你可以试着把这两个表单合并成一个表单,然后提交给page2。这是值得考虑的事情,尽管它可能需要大量重写现有代码。