• 如题: 一个表单中有时可能会有多个Submit元素,如何在后台区分哪个按钮被点击呢?

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

  1. 使用不同的name属性
  • 前端代码:
<form method="post">
<input type="submit" name="save" value="保存设置"/>
<input type="submit" name="reset" value="复位设置"/>
</form>
  • 后台验证:
if ( $_REQUEST['save'] ) {
// ...
} elseif ( $_REQUEST['reset'] ) {
// ...
}
  • 原理:只有被点击的submit按钮数据才会被提交
  1. 使用相同的name,不同的value
  • 前端代码:
<form method="post">
<input type="submit" name="action" value="保存设置"/>
<input type="submit" name="action" value="复位设置"/>
</form>
  • 后台验证:
if ( $_REQUEST['action']=='保存设置' ) {
// ...
} elseif ( $_REQUEST['action']=='复位设置' ) {
// ...
}
  • 要注意的是方法二中,由于用到了中文,前后台编码要保持一致,否则会导致判断失败。