多个相同参数表单提交

前情提要:  

   现在需要使用异步提交表单数据(QueryString方式),但数据个数比较多,一个个拼接比较麻烦,这时可以使用jQuery的方法$("form").serialize()对表单进行序列化。但是如果这时,数据中有几个是相同的name属性,这是在后台使用Request[".."]就只能接收第一个的值。于是,问题就来了,下面是解决方案:

        这时候可以在前端提交的时候处理一下,方法是:遍历选中的checkbox,得到value值,拼接(用逗号分隔),再提交到后台。对于数据比较多的情况,这种方法,比较麻烦并且$("form").serialize()这个方法就浪费了。

   更好的办法是,在后端直接使用Request.Params[".."]来接收,这时得到的就是用逗号分割的字符串。

   举个栗子:比如在为用户设置角色时,一般使用checkbox来显示角色。因为一个用户可以有多个角色,这时在提交的时候因为checkbox具有相同的name属性,就会出现多对值(key相同),这时候就可以用Request.Params[".."]来获取选定的角色的ID(checkbox的value存放的是角色表的Id)了。

时间: 2024-10-24 04:56:18

多个相同参数表单提交的相关文章

jquery.form.js(ajax表单提交)

Form插件地址: 官方网站:http://malsup.com/jQuery/form/ 翻译地址:http://www.aqee.net/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started 一.准备工作 写一个表单: <form id="reg" action="123.php" method="post"> <p> <label for

Servlet--超链接,表单提交,重定向,转发4种情况的路径

实际编码中我们常常写路径,写路径既能够写相对路径,也能够写绝对路径.我2年曾经我就养成了习惯.仅仅要是写路径我从来都是写绝对路径,由于万一将来我们的项目的文件夹发生变化.原来要是写相对路径的话就会有路径依赖关系.改的地方太多了.并且相对路径在某些情况下还有点特殊,有的是相对于原来的请求的文件夹,有的是相对于整个web应用,所以我强烈建议大家以后写路径统一用绝对路径(以"/"开头)来写,"/"表示网站的根路径. 写路径的情况无非以下4种情况,这里做一个整理. 1,超链

Ajax提交与传统表单提交的区别说明

Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,用户感觉不到实际上浏览器发出了请求.比如说我们希望网页总是显示最新的新闻,而又不想老是去点刷新按钮,我们就可以用Ajax机制来实现.网上的客服软件也是ajax请求的一个比较好的案例.传统的请求页面将实现刷新,因此局限性很大. 1.为什么用AJAX?使用AJAX,用户对Web的体验会更“敏捷”:数据提交页面不会闪屏:页面局部更新速度快:网络带宽占用低. 2.AJAX开发相较传统模式的简单之处:传统模式下,表单提交则整个页

form表单提交数据编码方式和tomcat接受数据解码方式的思考

http://blog.sina.com.cn/s/blog_95c8f1ac010198j2.html ******************************************************* form有2中方法把数据提交给服务器,get和post,分别说下吧. (一)get提交 1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧. 对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:

Ajax表单提交

jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能.另外,插件还包括其他的一些方法: formToArray().formSerialize().fieldSerialize().fieldValue().clearForm().clearFields() 和 resetForm()等.

struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($("#textValue").val() == "") {3                 $("#errortip").html("<font color='#FF0000'>请输入查询内容</font>")

表单提交时如何将错误信息传递到页面中,并且保存原来提交数据

曾经何时,你还有我或许都在困惑,如何方便的将验证不通过的表单信息再返回到前台页面,例如我注册一个账号,辛辛苦苦填写了N多项,一个格式验证没有通过,一切都需要充填,虽然Ajax可以解决这个问题,但是我们总不能把所有表单提交都弄成ajax,更何况有若干人就是没事把javascript给禁止了.哎哎,好了解决方案来了,下面以用户登录为例,说说我的解决方案. 服务器端用nodejs实现: login.html 简单的提交表单 <form action="" id="loginF

关于表单提交的书写

注意form表单提交的action属性写地址的时候,开头不要用"/",因为如果写上"/"的话,系统就会在WEB-INF/views中寻找这个jsp文件的 未完待续...

ajax传递数组、form表单提交对象数组

在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发任务中,遇到了需要批量传递对象,也就是需要传递对象数组,在此做个总结.今天又遇到需要向后台传递数组,便一并写下来吧. 1.ajax传递普通数组 前台代码 var deleteNum= [];//定义要传递的数组 deleteNum.push("1"); deleteNum.push(&qu