假如没有选择复选框,则通过使用request.getParameterValues("mid")获得的应该是null值,只要在执行area.deleteArea(strCode);之前判断一下strCode!=null即:
strCode=request.getParameterValues("mid");
if(strCode!=null) {
area.deleteArea(strCode);
}
strCode=request.getParameterValues("mid");
if(strCode!=null) {
area.deleteArea(strCode);
}
if(java.lang.reflect.Array.getLength(strCode)>0){
}
按你的建议我用JS来判断,方法如下;
<script language="javascript">
function sub(){
if(document.all("mid").length==0){
return false;
}else{
document.Area.submit();
}
}
</script>
..
<form name="Area" action="Area_ok" method="post">
..
<input type="button" name="Delete Checked Control" value="Delete Checked Control" onclick="sub()">
...
<input type="checkbox" name=mid value="<%=Rs.getString("AreaCode")%>">
.....不知道这样写对不对,还是会出现空指针异常!
oform = document.form1;
var iNum= 0;
iLength = oform.mid.length;
for (i = 0; i < iLength; i++) {
if (iLength == 1) {
if (oform.mid.checked) {
iNum++;
break;
}
} else {
if (oform.mid[i].checked) {
iNum++;
break;
}
}
}
if (iNum == 0) {
alert("请先选择要删除的项!");
return;
}
oform.action = "jsp2.jsp";
oform.submit();
}jsp1.jsp
....
<form name="form1"action ="jsp2.jsp" method="post">
....
<input type="button" onclick="del();" name="Delete Checked Control" value="Delete Checked Control">
....
<tr><td width="4%"><div align="center">
<input type="checkbox" name=mid value="+Rs.getString("Code"));
....
if(request.getParameterValues("mid")!=null){}
else{
}