HTML表单有多个“动作”

问题描述 投票:62回答:3

我设置了一个表格,其中我需要两个“动作”(两个按钮):

1 - “提交此表审批” 2 - “保存此申请后”

如何创建一个支持多个“行动”的HTML表单?

例如:

<form class="form-horizontal" action="submit_for_approval.php"> <form class="form-horizontal" action="save_for_later.php">

我需要这两个选项换提交合并成一种形式。

我做了一些基础研究,但无法找到一个明确的答案,这是否是可能的,和/或任何好的资源,为一种解决方法的链接。

提前致谢。

html forms submit
3个回答
69
投票

作为@AliK提到的,这可以很容易地通过查看提交按钮的值来完成。

当你提交一个表单,尚未设定的变量将评估假。如果同时设置提交按钮,以相同形式的一部分,你可以检查,看看哪个按钮被设置。

HTML:

<form action="handle_user.php" method="POST" />
  <input type="submit" value="Save" name="save" />
  <input type="submit" value="Submit for Approval" name="approve" />
</form>

PHP

if($_POST["save"]) {
  //User hit the save button, handle accordingly
}
//You can do an else, but I prefer a separate statement
if($_POST["approve"]) {
  //User hit the Submit for Approval button, handle accordingly
}

编辑


If you'd rather not change your PHP setup, try this: http://pastebin.com/j0GUF7MV
This is the JavaScript method @AliK was reffering to.

有关:


20
投票

最好的方式(对我来说),使其它的未来的基础设施:

<form method="POST">
<input type="submit" formaction="default_url_when_press_enter" style="visibility: hidden; display: none;">
<!-- all your inputs -->
<input><input><input>
<!-- all your inputs -->
<button formaction="action1">Action1</button>
<button formaction="action2">Action2</button>
<input type="submit" value="Default Action">
</form>

这种结构,你将进入一个方向和按钮的其余的无限可能性发送。


0
投票

这真的工作了我使用thymeleaf和表里面有一种形式两个按钮制作表格的形式...感谢的人,即使这个线程是老它仍然可以帮助我很多!

<th:block th:each="infos : ${infos}">
<tr>
<form method="POST">
<td><input class="admin" type="text" name="firstName" id="firstName" th:value="${infos.firstName}"/></td>
<td><input class="admin" type="text" name="lastName" id="lastName" th:value="${infos.lastName}"/></td>
<td><input class="admin" type="email" name="email" id="email" th:value="${infos.email}"/></td>
<td><input class="admin" type="text" name="passWord" id="passWord" th:value="${infos.passWord}"/></td>
<td><input class="admin" type="date" name="birthDate" id="birthDate" th:value="${infos.birthDate}"/></td>
<td>
<select class="admin" name="gender" id="gender">
<option><label th:text="${infos.gender}"></label></option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</td>
<td><select class="admin" name="status" id="status">
<option><label th:text="${infos.status}"></label></option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</td>
<td><select class="admin" name="ustatus" id="ustatus">
<option><label th:text="${infos.ustatus}"></label></option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</td>
<td><select class="admin" name="type" id="type">
<option><label th:text="${infos.type}"></label></option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select></td>
<td><input class="register" id="mobileNumber" type="text" th:value="${infos.mobileNumber}" name="mobileNumber" onkeypress="return isNumberKey(event)" maxlength="11"/></td>
<td><input class="table" type="submit" id="submit" name="submit" value="Upd" Style="color: white; background-color:navy; border-color: black;" th:formaction="@{/updates}"/></td>
<td><input class="table" type="submit" id="submit" name="submit" value="Del" Style="color: white; background-color:navy; border-color: black;" th:formaction="@{/delete}"/></td>
</form>
</tr>
</th:block>
© www.soinside.com 2019 - 2024. All rights reserved.