check表单提交数据
来源:互联网 发布:路由器做淘宝客 编辑:程序博客网 时间:2024/06/05 16:22
向服务器端提交单个数据很简单,提交一组数据也不难:设成相同的name属性,服务器端收到数组形式然后处理即可。但是测试中发现checkbox设成相同的name属性之后,在struts2的Action里面无法得到正确的数据。具体表现是:只有选中的checkbox才有值,而且还是false。(PS:我使用struts2的自动类型转换,将checkbox的值转换为boolean数组)
试过设置value的值,但是没用。
于是就只有绕道而行了。网上有方法,说是在提交的时候,通过js来对checkbox遍历一下,组成一个字符串提交给服务器。这方法很简单,不提了。
在我查网上方法之前,我是这样做的:
首先添加一个js方法:
1: <script type="text/javascript" >
2: function changeState(v) {
3: var t = v.parentNode.children[1];
4: if(t.value=="true") {
5: t.value="false";
6: } else {
7: t.value="true";
8: }
9: }
10: </script>
注:关键是要找到hidden表单域,然后修改其值。试过nextSibling方法,但是不知道怎么回事,没用,所以暂且这样写,效果一样。
然后在每个checkbox之后添加一个hidden表单域,name属性设为服务器端需要接收的属性,再写checkbox的onclick事件调用上面的方法:
1: <input type="checkbox" onclick="return changeState(this);"/>
2: <input type="hidden" name="isHideInMenu" value="false"/>
这种方法的关键是通过js把checkbox的值与一个hidden表单域关联在了一起,优点是提交的数组同样是一个数组,无需特殊处理,服务器端处理简单了。
0 0
- check表单提交数据
- 回车键提交表单数据
- java 提交数据表单
- AJAX提交表单数据
- ActionScript 提交表单数据
- 表单提交数据
- 提交表单数据
- 表单数据提交
- 表单提交,数据请求
- 表单提交没数据
- form 表单提交数据
- 05-提交表单数据
- Ajax提交表单数据
- angularjs表单数据提交-对象方式提交
- 提交数据时防止表单第二次提交
- 使用HttpWebRequest提交表单数据
- 防止表单数据重复提交
- jsp 回车提交表单数据
- 性能杀手:”潜伏”的memset
- 单词反转 (微软公司面试题)
- JAVA基础-面向对象之封装
- Axure RP 公司低调发布了一款名为:Axshare的APP。
- 使用strace, ltrace寻找故障原因的线索
- check表单提交数据
- 东汤镇纪行
- [转]SQL语句优化技术分析
- 23岁生日
- JAVA基础-程序的基本结构、函数与数组
- HDU4622:Reincarnation(后缀数组,求区间内不同子串的个数)
- 2015070508 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(2)
- 调试 之gdb thread命令 与 ltrace/strace
- HDU2553N皇后问题(BFS)