如何用纯 HTML 区分一个 form 表单中的多个 submit

文章目录
  1. 1. 1. 使用不同的 name 属性
    1. 1.1. 1.1 前端代码:
    2. 1.2. 1.2 后台验证:
  2. 2. 2. 使用相同的 name,不同的 value
    1. 2.1. 2.1 前端代码:
    2. 2.2. 2.2 后台验证:

请注意:本文编写于 2017-07-27,其中某些信息可能已经失去时效性。

当然可以用 JS 的方法,但是对于初学者来说 JS 函数有些麻烦,在这里我分享两个纯 HTML 区分一个 form 中不同 submit 的方法:

1. 使用不同的 name 属性

1.1 前端代码:

1
2
3
4
<form method="post">
<input type="submit" name="save" value="保存设置"/>
<input type="submit" name="reset" value="复位设置"/>
</form>

1.2 后台验证:

1
2
3
4
5
6
// PHP 代码
if ( $_REQUEST['save'] ) {
// ...
} elseif ( $_REQUEST['reset'] ) {
// ...
}

原理:只有被点击的 submit 按钮数据才会被提交

2. 使用相同的 name,不同的 value

2.1 前端代码:

1
2
3
4
<form method="post">
<input type="submit" name="action" value="保存设置"/>
<input type="submit" name="action" value="复位设置"/>
</form>

2.2 后台验证:

1
2
3
4
5
if ( $_REQUEST['action']=='保存设置' ) {
// ...
} elseif ( $_REQUEST['action']=='复位设置' ) {
// ...
}

要注意的是方法二中,由于用到了中文,前后台编码要保持一致,否则会导致判断失败。