用两个JSP来做
第一个页面多个复选框name值保持一致,这样才构成一组,放在表单里。提交到另外一个JSP页面后用request.getParameterValues()得到这个组value值组成的集合。所以getParameterValues返回的是一个String[]。然后把String[]的值保存到数据库
注:request.getParameterValues()参数是name的值
JSP页面里的复选框的 name 要一样。这样在Servlet里面接收的话 用 request.getParameterValues("name")
例如 JSP页面 的复选框有3个 name都是 checkbox
提交到 Servlet里面取的话就是 String[] s = request.getParameterValues("checkbox")
<head><script type="text/javaScript">
function getValue(){
var box= document.getElementsByName("checkBox1")
var boxValue=""
for(var i=0i<box.lengthi++){
if(box[i].checked==true){
boxValue+=box[i].value+"#"//将选中的值累加
}
}
document.getElementById("setValue").value=boxValue//将选中的值赋给hidden,方便在后台取出
}
</script>
</head>
<body>
<input type="checkBox" name="checkBox1" value="1"/>
<input type="checkBox" name="checkBox1" value="2"/>
<input type="checkBox" name="checkBox1" value="3"/>
<input type="checkBox" name="checkBox1" value="4"/>
<input type="hidden" id="setValue" name="vlaue"/>
<input type="button" value="提交" onclick="getValue()"/>
</body>
在后台
String[] string = request.getParameter("value").split("#")
for(int i=0i<string.lengthi++){
System.out.println(string[i])//string[i]就是页面中被选中的值
}
其实这是一种比较笨的方法,不过胜在通用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)