HTML一个form表单中有两个(多个)submit,后台如何区分(纯HTML实现,无需javascript)

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

网上很多人说用javascript,写一个长长的函数,点击不同的按钮提交不同的数据;还有的说用多个表单;其实完全不需要这么麻烦。

两种方法可以实现,不需要使用javascript。

方法一、使用不同的name属性

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

后台PHP的处理:

  1. if ( $_REQUEST[‘save‘] ) {
  2. // ...
  3. } elseif ( $_REQUEST[‘reset‘] ) {
  4. // ...
  5. }

原因是只有被点击的submit按钮数据才会被提交。

方法二、使用相同的name,不同的value

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

后台PHP的处理:

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

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

由于对于<input type="submit"/>元素,value属性就是要显示到按钮上的文字,很可能用到中文,而且可能会因前端需要被修改,这时后台代码也得跟着改,所以不推荐第二种方法,建议用方法一。

本文由jzj1993原创,转载请注明来源:http://www.hainter.com/html-form-submit

时间: 2024-08-06 21:00:39

HTML一个form表单中有两个(多个)submit,后台如何区分(纯HTML实现,无需javascript)的相关文章

form表单中填写中文后,传到后台为UTF-8代码,导致查询失败

原因:通过参数拼接的方式,导致会将中文转成UTF-8代码进行传输 解决方法:更改为post传参 原代码: function _search(){ var roleInformation = $('#TOrhChkErrExamineTable'); roleInformation.datagrid({pageNumber:1,url:projectPath+'TOrhChkErrController/findAll.do?permissionCode=TORGCHKERREXAMINESEARC

ajax中form表单中含有文件上传功能,后台语言是java,包括图片的下载,预览,删除

//样式 <li> <label>已有文档:</label> <div id="fileEdit"></div> </li> <li> <label>附件:</label> <input name="file" type="file" multiple="multiple" style="display:

数据表格,查询、导出共用一个form表单,实现文件流方式下载

在开发中遇到问题是这样的: 在维护老的管理系统的过程中,老板说让加导出功能:项目中,查询的筛选条件是用的表单提交的方式写的. 解决方案有两种: 一.用ajax方式导出 var array = $('#frmSearch').serialize(); 获得表单数据后,用post方式提交给服务器,服务器返回文件所存在的网络地址,然后用windows.open()的方式下载文件 但是我希望文件下载后,能够把文件删除了:用上边方式就不太合适了,不能及时删除旧文件,于是想出下面的方式: 二.文件流的方式下

Form表单中的action路径问题,form表单action路径《jsp---&gt;Servlet路劲问题》这个和上一个《jsp---&gt;Servlet》文章有关

Form表单中的action路径问题,form表单action路径 热度5 评论 50 www.BkJia.Com  网友分享于:  2014-08-14 08:08:01     浏览数44525次 Form表单中的action路径问题,form表单action路径 今天刚接触web,在用jsp和servlet做一个简单的登陆的时候在Form表单action属性和method属性的一些问题: 我遇到的是Form表单提交到servelet处理时遇到的问题: (1)<form name="l

form表单中method的get和post区别

一.问题的提出   <form action="getPostServlet/getPost.do?param4=param4" method="get">     <input type="hidden" name="param1" value="param1">     <input type="hidden" name="param2&quo

如何在一个form表单中实现多个submit

As we all know,通过设置input type=“submit”,我们可以把form表单中的值通过post方式传递给action所指向的页面.下图中,我们可以把userName,userAge,userSex这三个值传递到xxx.jsp <form action="xxx.jsp" method="post">            <input type="text" name="userName&quo

Form表单中的action路径问题

今天刚接触web,在用jsp和servlet做一个简单的登陆的时候在Form表单action属性和method属性的一些问题: 我遇到的是Form表单提交到servelet处理时遇到的问题: (1)<form name="login" action="①?" method="②?"> //表单内容 username:<input type = "text" name = "username"

Form表单中method=&quot;post/get&#39;的区别

Form提供了两种数据传输的方式--get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一些差异,但是了解二者的差异在以后的编程也会很有帮助的. Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法.二者主要区别如下: 1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据. 2.Get将表单中数据的按照variable=val

Form表单中method=&quot;post/get&#39;的区别【转载】

Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一些差异,但是了解二者的差异在以后的编程也会很有帮助的. Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法.二者主要区别如下: 1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据. 2.Get将表单中数据的按照variable=val