方法1.给所有的checkbox取同一个名字,而value值不同,用request的getParameterValues();方法把所有被选中的checkbox的值传到一个数组中,从而确定哪些checkbox被选中了.
<%@ page language="Java" contentType="text/html" %>
<%@ page import="com.ora.jsp.util.*" %>
<html>
<body bgcolor="white">
<form action="checkbox.jsp">
<input type="checkbox" name="fruits" value="Apple">Apple<br>
<input type="checkbox" name="fruits" value="Banana">Banana<br>
<input type="checkbox" name="fruits" value="Orange">Orange<br>
<input type="submit" value="Enter">
</form>
<%
String[] picked = request.getParameterValues("fruits");
if (picked != null && picked.length != 0) {
%>
You picked the following fruits:
<form>
<input type="checkbox" name="fruits" value="Apple"
<%= ArraySupport.contains(picked, "Apple")?"checked" : "" %> >Apple<br>
<input type="checkbox" name="fruits" value="Banana"
<%= ArraySupport.contains(picked,"Banana")?"checked":"" %> >Banana<br>
<input type="checkbox" name="fruits" value="Orange"
<%= ArraySupport.contains(picked,"Orange")?"checked" : "" %> >Orange<br>
</form>
<% } %>
</body>
</html>
方法2.
在页面中有8个复选框,名字都是checkbox,在这里这些checkbox组成了一个复选框组,可以通过checkbox[x]来调用具体的某一个复选框。
性质其它在form标签中,有onSubmit方法,通过在form中申明这个方法,可以实现在点击submit按钮时,先调用这个return check()方法,然后再执行
action。
下面是这个check()函数有关语句:
在上面这个函数中,如果某一个checkbox[x]被选中,则document.form1.checkbox[x].checked==true,执行赋值操作,这些复选框的值value被赋给test x,然后将test x的值传入ActionForm中,就可以得到复选框的相对应的值了,如果test x,没有被赋值,则为NULL
下面是test相关语句,type=hidden,隐藏表单控件