为了账号安全,请及时绑定邮箱和手机立即绑定

一个表单中的两个提交按钮

一个表单中的两个提交按钮

子衿沉夜 2019-06-17 16:59:18
一个表单中的两个提交按钮我有两个提交表格中的按钮。我怎么确定哪个被服务器端击中了?
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

如果您给每个人一个名称,单击的一个将作为任何其他输入发送通过。

<input type="submit" name="button_1" value="Click me">


查看完整回答
反对 回复 2019-06-17
?
白衣非少年

TA贡献1155条经验 获得超0个赞

您可以为每个输入提供不同的值,并保持相同的名称:

<input type="submit" name="action" value="Update" /><input type="submit" name="action" value="Delete" />

然后在代码检查中查看哪个触发了:

if ($_POST['action'] == 'Update') {
    //action for update here} else if ($_POST['action'] == 'Delete') {
    //action for delete} else {
    //invalid action!}

唯一的问题是,您将逻辑与输入中的文本绑定在一起。您还可以为每个用户指定一个惟一的名称,只需检查$_post是否存在该输入:

<input type="submit" name="update_button" value="Update" /><input type="submit" name="delete_button" value="Delete" />

在守则中:

if (isset($_POST['update_button'])) {
    //update action} else if (isset($_POST['delete_button'])) {
    //delete action} else {
    //no button pressed}


查看完整回答
反对 回复 2019-06-17
?
富国沪深

TA贡献1790条经验 获得超9个赞

更好的解决方案包括使用按钮标记提交表单:

<form>
    ...    <button type="submit" name="action" value="update">Update</button>
    <button type="submit" name="action" value="delete">Delete</button></form>

这种方式不会给国际化和多种显示语言带来不便(在前一种解决方案中,按钮的标签也是发送给服务器的值)。


查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 1186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信