document.location="test.jsp?sexstr="+sexstr; } else ............... } function getmanid() { //假定form表单为frmitem myform=document.all('frmitem'); var idstr=""; for(i=0;i<myform.elements.length;i++) { var obj=myform.elements[i]; var objname=obj.name if(objname.indexOf('sex')>=0) {
<input type="checkbox" name="sex" value="girl"/>
//后台的取值
Object obj=request.getParameter("sex");
String[] sex=null;
if(obj!=null)sex=(String[])obj;
if(sex!=null&&sex.length>0){
for(int i=0;i<sex.length;i++){
log.info("sex is:"+sex[i]);
}
}大体样子就是这样
<input type="checkbox" name="sex" value="<%=rs.getString("sex")%>">
</form>
rs是从数据库取出来的数据集。
再用脚本操作:
<script language="JavaScript">
function getSex(){
//取的时候用 document.form1.sex.value();然后再提交到别的页面。
}
</script>用jsp+servlet也行。
用脚本提交是一般的方法。
while (rs.next()){%>
<tr>
<%}%>
a.jsp中
<form action=b.jsp name=form1>
<%
int i=0//省略数据库的连接这些步骤
while (rs.next()){%>
<tr>
<td>
<input type="checkbox" name="checkbox<%=i%>" value="<%=rs.getString("sysid")%>">
</td>
</tr>
<%i++;
}%>
<input type=hidden name=count value=<%=i%>>
<input type=submit name="提交">
</form>
b.jsp
<%
String[] strArrCheck = new String[256];
int count= Integer.parseInt(request.getParameter("count"));
int m=0;
//得到要操作的记录数
for (m=1;m<=count;m++) {
if (request.getParameter("checkbox" + m)!=null){
//这样就把a.jsp中复选框的选中的内容全部取到这个数组中了
strArrCheck[n]=request.getParameter("checkbox"+m);
n++;
}
}%>
<input type="hidden" id="hidstr" value="" />
<input type="checkbox" id="<%obj.getid%>" name="sex_boy_<%obj.getid%>" checked="<%obj.getisBoy()%>" value="boy" />
<input type="checkbox" id="<%obj.getid%>" name="sex_girl_<%obj.getid%>" checked="<%obj.getisgirl()%>" value="girl"/>
首先获得每条记录的key,和性别;
得到的结果是:2001.m,4064.w,1003.m
2001表示的该行数据的key或者是id,
m表示男,w表示女
function checksubmit()
{
myform=document.all('frmitem');
myform.method="post";
myform.action="test.jsp";
//把获得值通过隐藏域提交
这里楼主可以自己修改,判断每行数据都必须选中一个性别
var sexstr=getmanid();
if(sexstr.length>0)
{
document.all('hidstr').value= sexstr;
myform.submit();
}
else
...............
//把获得的值通过url地址提交
var sexstr=getmanid();
if(sexstr.length>0)
{
document.location="test.jsp?sexstr="+sexstr;
}
else
...............
}
function getmanid()
{
//假定form表单为frmitem
myform=document.all('frmitem');
var idstr="";
for(i=0;i<myform.elements.length;i++)
{
var obj=myform.elements[i];
var objname=obj.name
if(objname.indexOf('sex')>=0)
{
//判断该复选框是否选中
if(obj.checked)
{
idstr=idstr+obj.id+".";
//判断选中是男还是女
if(objname.indexOf('boy')>0)
idstr=idstr+"m"
else
idstr=idstr+"w";
idstr=idstr+",";
}
}
}
if(idstr.length>0)
{
idstr=idstr.substr(0,idstr.length-1);
}
return idstr;
}
思路就是这样
希望对楼主有启发