解决checkbox未选中,无法获取其value值的方法

        近来在做一个项目,其中用到了获取多个同名checkbox的value值,但是过程中遇到了一个问题:在servlet端无法获取未被选中的checkbox的value值。。。。。。郁闷啊、纠结了好久啊~~~~~~抓狂

      其实,很多时候,我们可以换个思维、换个角度想想,既然checkbox无法通过getParameterValues()方法获取,我们为何不可以在前台页面通过JS将所有的同名checkbox的value值逐个放在一个hidden类型的input框中呢?然后我们便可以在servlet端通过getParameterValues()获取hidden文本框中的所有的值了(这些值就一个个的对应了每个checkbox中的value值啦~~)。不知道这样说明不明白,还是让我们看一个简单的例子吧......

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script type="text/javascript">
	function setSelect(id) {
		var d = document.getElementById(id);
		if(!d.checked) {
			d.value = "noSelected"
		}
		//存放各个checkbox的value值
		var arg = document.getElementsByName(nba);
		for(int i=0; i<arg.length; i++) {
			//这里可以根据需求设置ID
			document.getElementById("h"+i) = arg[i].value;
		}
	}
  </script>
  </head>
  
  <body>
  <form action="projectServlet.do?which=aa" method="post">
    杜兰特<input type="checkbox" checked="checked" value="Durant" name="nba" id="id0" οnclick="setSelect('du')"/>
    科比<input type="checkbox"  checked="checked" value="Kobe" name="nba" id="id1" οnclick="setSelect('ko')"/>
	<!-- 存放checkbox的value值 -->
	<input type="hidden" name="allValue" id="h0"/>
	<input type="hidden" name="allValue" id="h1"/>
    <input type="submit" />
   </form>
  </body>
</html>


 

在后面的servlet通过getParameterValues("allValue")就可以获得所有的checkbox的value值了(包括选了和未选的),不知道到这里是否明白了??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值