用一个提交按钮提交两个表单

Submit two forms with one submit button

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

我有两个XHTML表单(如下)。我正在寻找一种方法来提交两个表单与一个提交按钮。

第一个表格下面

<form method= "post" action= "forum_add_111438076.xhtml" >
<input type= "hidden" name="d_token" value="2ab5b36d7d0e5f9fee88cc9a67553db6" />First 
Name:<br/><input type="text" name="meno" maxlength="20"/>
<br/>Last Name:<br/><input type="text" name="text" maxlength="20000"/>
<br/><input type="submit" name="submit" value="Submit" /></form>

第二种形式

<form method="post" action="forum_add_111438075.xhtml" >
<input type="hidden" name="d_token" value="d0cb19bc6b0d162a11431213976206b8" />
Phone Number:<br/><input type="text" name="meno" maxlength="20"/>
<br/>Address:<br/><input type="text" name="text" maxlength="20000"/>
<br/><input type="submit" name="submit" value="Submit" /></form>

上面的每个表单都有自己的提交按钮,但是我只想使用一个提交按钮。

不能同时提交两个表单。(比如一个网页不能转到两个)解决这个问题的一个方法是使用Ajax并一个接一个地提交表单。

一些示例代码。(使用jQuery)

HTML

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <form id="form1">
        <input type= "hidden" name="d_token" value="2ab5b36d7d0e5f9fee88cc9a67553db6"  />First Name:<br/><input type="text" name="meno" maxlength="20"/>
    <br/>Last Name:<br/><input type="text" name="text" maxlength="20000"/>
    <br/></form>
    <form id="form2">
    <input type="hidden" name="d_token" value="d0cb19bc6b0d162a11431213976206b8" />
    Phone Number:<br/><input type="text" name="meno" maxlength="20"/>
    <br/>Address:<br/><input type="text" name="text" maxlength="20000"/>
    <br/></form>
    <input type="submit" name="submit" onclick="submitAction()" />
Javascript

submitAction() {
    $.post('forum_add_111438076.xhtml', $('#form1').serialize())
    $.post('forum_add_111438075.xhtml', $('#form2').serialize())
}

一次向两个不同的地方提交两个表单是不可能的。如果需要单独处理,最好的方法是使用接收页面收集二级表单帖子,并将其发送到二级处理页面。使用CURL的PHP非常适合这样做。

如果您使用get或ajax函数,它将允许您知道第一个或第二个表单何时完成。使用get,你会使用.done,如果你使用ajax,你将使用.success。一旦你的第一个表单完成提交,你就可以提交你的其他表单,如下所示。

//Submit your First form
 $.get("postOne").done(function(){
//When your first form is completed you can then submit your second form.
    $.get("postTwo").done(function(){
    });
});