jsp页面如下,for循环动态输出表格,我可以确定value被赋值了,所以value不能是空 <tr>
<td><input type="checkbox" id="checkBox" value=<%=pinfo.getMProjectID()%>></td>
<td><%=pinfo.getProjectName()%></td>
<td><%=pinfo.getProjectOwner()%></td>
<td><%=projectStatu%></td>
<td><%=pinfo.getMRoundSeedsNum()%></td>
<td><%=pinfo.getMFinshPageNum()%></td>
<td><%=pinfo.getMFinishPercentage()%></td>
<td><%=pinfo.getMDepolyTime()%></td>
<td><%=pinfo.getMProjectStartTime()%></td>
<td><%=pinfo.getMProjectRunTime()%></td>
<td><%=pinfo.getMTargetPageNum()%></td>
<td><%=pinfo.getMRoundScanPage()%></td>
</tr>用于提交的JS如下,判定是否只选定了一行,只有一行的话就提交(因有别的需要,不能用单选框):
function projectDetail()
{var form = document.getElementById("form");
var checkObj = eval(form.checkBox);
var j=0;
for(i=0;i<checkObj.length;i++)
{
if(checkObj[i].checked)
{
j++;
}
}
if(j==0)//如果用户没选定
{
alert("请先选定项目");
}
if(j>1)
{
alert("一次只能查看一个项目详情");
}
if(j==1)
{
form.action="projectDetail";
form.submit();
}}servlet处理逻辑: String checkBox[] = req.getParameterValues("checkBox");
System.out.println(checkBox.length);//这个地方就出异常nullException 应该是那个数组是空的,才导致异常。但是我在别的地方用上面的获取方法,可以得到选定的checkBox的value数组。同样的一句话,获取同样的东西,一个可以,一个不可以。他们的不同就在于,当出现错误时,我是使用上面的js函数来控制提交的。 有的帖子说,当checkBox仅仅选中一个时,提交不成功,这是html的bug。我就怀疑是JS出的问题。希望高手给解答一下!
<td><input type="checkbox" id="checkBox" value=<%=pinfo.getMProjectID()%>></td>
<td><%=pinfo.getProjectName()%></td>
<td><%=pinfo.getProjectOwner()%></td>
<td><%=projectStatu%></td>
<td><%=pinfo.getMRoundSeedsNum()%></td>
<td><%=pinfo.getMFinshPageNum()%></td>
<td><%=pinfo.getMFinishPercentage()%></td>
<td><%=pinfo.getMDepolyTime()%></td>
<td><%=pinfo.getMProjectStartTime()%></td>
<td><%=pinfo.getMProjectRunTime()%></td>
<td><%=pinfo.getMTargetPageNum()%></td>
<td><%=pinfo.getMRoundScanPage()%></td>
</tr>用于提交的JS如下,判定是否只选定了一行,只有一行的话就提交(因有别的需要,不能用单选框):
function projectDetail()
{var form = document.getElementById("form");
var checkObj = eval(form.checkBox);
var j=0;
for(i=0;i<checkObj.length;i++)
{
if(checkObj[i].checked)
{
j++;
}
}
if(j==0)//如果用户没选定
{
alert("请先选定项目");
}
if(j>1)
{
alert("一次只能查看一个项目详情");
}
if(j==1)
{
form.action="projectDetail";
form.submit();
}}servlet处理逻辑: String checkBox[] = req.getParameterValues("checkBox");
System.out.println(checkBox.length);//这个地方就出异常nullException 应该是那个数组是空的,才导致异常。但是我在别的地方用上面的获取方法,可以得到选定的checkBox的value数组。同样的一句话,获取同样的东西,一个可以,一个不可以。他们的不同就在于,当出现错误时,我是使用上面的js函数来控制提交的。 有的帖子说,当checkBox仅仅选中一个时,提交不成功,这是html的bug。我就怀疑是JS出的问题。希望高手给解答一下!
这句话是通过“name” 属性来获取值,我的checkBOX没有name属性 所以为空