将页面提交后,在后台的树组中如何将checkbox中被选中的置"Y",未选中的置"N"? 哈哈,你没有办法知道哪两个被选中,是不是?应该在页面中再加三个text,值为1代表对应的checkbox被选中,因为未选中的checkbox,其值不会提交上去 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for(int i=1;i<=3;i++){ checkboxtemp="checkbox"+new Integer(i).toString(); checkbox=(String)request.getParameterValues(checkboxtemp); if (checkbox!=null){ autoIdtemp="autoId"+new Integer(i).toString(); autoId=(String)request.getParameterValues(autoIdtemp); }} 解释一下:for(int i=1;i<=3;i++){ //表示有三个checkbox框 checkboxtemp="checkbox"+new Integer(i).toString(); checkbox=(String)request.getParameterValues(checkboxtemp); if (checkbox!=null){//表示被选中 autoIdtemp="autoId"+new Integer(i).toString();//取相应于该checkbox的变量名 autoId=(String)request.getParameterValues(autoIdtemp);//取相应于该checkbox的变量值 }} to: xujiaqiang什么叫加三个text?能否解释一下? 如果你的checkbox不同名,就按 fany_han(fany_han) 说的做,如果同名并有N个checkbox,则再加N个<input type="hidden" name="txtCheck" value="0"/>,然后给每个checkbox加onclick属性,如下<input type="checkbox" name="username" onclick="makeChecked(N)"/>最后在后台根据txtCheck数组的值是0还是1,就是可以知道哪个checkbox选中,哪个未选中:String[] txtCheck = request.getParameterValues("txtCheck")function makeChecked(listCount){ if (listCount > 1) { for (var i=0; i<document.formname.checkbox.length; i++) { var CB = document.formname.checkbox[i]; if (CB.checked) { document.formname.txtCheck[i].value = "1"; } else { document.formname.txtCheck[i].value = "0"; } }} 没有这么复杂吧?还是我理解有误?所有的复选按钮取同一个名字(如"username")就表示在一个组中,每个checkbox的value值不一样;用String[] username = request.getParameterValues("username")String checkedvalue ="";取值,然后用for(int i=0;i<username.length;i++){ checkedvalue = username[i];}就是所有被选中的,因为不被选中的不会提交,所以,不能知道哪个未选;但是确定可以知道那个被选。 楼上的方法前提是要为每个checkbox设置一个value属性,属性值从哪里来?如果checkbox个数不确定,这个属性值的生成比较麻烦而且属性值互不相同,必须有规律,那么就要写死在代码中 Java搭建SSH错误 hibernate 配置没有错误,建表语句,不能执行 关于JSP页面的显示问题(如果二个不同身份的人进入同一页面显示不同的个人信息)~~急求 这是什么错啊 Servlet奇怪问题 struts里面各个元素之间的关系 留言本如何作到针对同一话题提问 jsp语法 javamail的收问题,特别是附件、html邮件的接收、显示 从a.jsp到b.jsp传递参数的问题,请高手赐教 CSDN出的烂书之一《JAVA夜未眠》。 第一个struts例子,出现问题,请帮助!!
checkboxtemp="checkbox"+new Integer(i).toString();
checkbox=(String)request.getParameterValues(checkboxtemp);
if (checkbox!=null){
autoIdtemp="autoId"+new Integer(i).toString();
autoId=(String)request.getParameterValues(autoIdtemp);
}
}
for(int i=1;i<=3;i++){ //表示有三个checkbox框
checkboxtemp="checkbox"+new Integer(i).toString();
checkbox=(String)request.getParameterValues(checkboxtemp);
if (checkbox!=null){//表示被选中
autoIdtemp="autoId"+new Integer(i).toString();//取相应于该checkbox的变量名
autoId=(String)request.getParameterValues(autoIdtemp);//取相应于该checkbox的变量值
}
}
什么叫加三个text?能否解释一下?
checkbox,则再加N个<input type="hidden" name="txtCheck" value="0"/>,然后
给每个checkbox加onclick属性,如下
<input type="checkbox" name="username" onclick="makeChecked(N)"/>
最后在后台根据txtCheck数组的值是0还是1,就是可以知道哪个checkbox选中,哪个
未选中:
String[] txtCheck = request.getParameterValues("txtCheck")
function makeChecked(listCount)
{
if (listCount > 1)
{
for (var i=0; i<document.formname.checkbox.length; i++)
{
var CB = document.formname.checkbox[i];
if (CB.checked)
{
document.formname.txtCheck[i].value = "1";
}
else
{
document.formname.txtCheck[i].value = "0";
}
}
}
所有的复选按钮取同一个名字(如"username")就表示在一个组中,
每个checkbox的value值不一样;
用String[] username = request.getParameterValues("username")
String checkedvalue ="";
取值,然后用for(int i=0;i<username.length;i++)
{
checkedvalue = username[i];
}
就是所有被选中的,因为不被选中的不会提交,所以,不能知道哪个未选;
但是确定可以知道那个被选。
如果checkbox个数不确定,这个属性值的生成比较麻烦
而且属性值互不相同,必须有规律,那么就要写死在代码中