function checkDelForm() {
var uids = -1;
uids = document.getElementsByName("delUids").length;
if (uids == -1) {
alert("请选择要删除的用户");
return false;
} else {
return true;
}
}
<form name="userform" action="servlet/DeleteUserServet" method="post"
onsubmit="return checkDelForm()">
<table align="center" border="1" width="440px">
<tr>
<td colspan="6" align="center">用户资料</td>
</tr>
<tr>
<td align="center">用户姓名</td>
<td align="center">用户性别</td>
<td align="center">出生日期</td>
<td align="center">用户住址</td>
<td colspan=2 align="center">操作</td>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("uname")%></td>
<td><%=rs.getString("usex")%></td>
<td><%=rs.getString("ubirth")%></td>
<td><%=rs.getString("uaddr")%></td>
<td><a
href="UserListDetail.jsp?uid=<%=rs.getInt("uid")%>&&uname=<%=rs.getString("uname")%>&&usex=<%=rs.getString("usex")%>&&ubirth=<%=rs.getString("ubirth")%>&&uaddr=<%=rs.getString("uaddr")%>">编辑</a>
</td>
<td><input type="checkbox" name="delUids"
value="<%=rs.getInt("uid")%>"></td>
</tr>
<%
}
conn.close();
rs.close();
stmt.close();
%>
<tr>
<td colspan="6" align="center"><input type="submit" value="删除"
style="width: 82px; "> <font color="green"> ${msg} </font>
</td>
</tr>
</table>
</form>
你只是判断delUids有多少个。而且也判断错了,是==0,不是==-1,改成下面的
function checkDelForm() {
var cbs = document.getElementsByName("delUids"), len = cbs.length, ok = false;
for (var i = 0; i < len; i++)
if (cbs[i].checked) {
ok = true; break;
}
if (!ok) {
alert("请选择要删除的用户");
return false;
} else {
return true;
}
}
检查下UserListDetail.jsp的程序,传进去的值对不对
就不能用jquery吗? 有没有选中复选框不是这样判断的好吧
除了要判断个数,是不是还要检查一下每一项的是否正确
function checkDelForm() {
var uids = -1;
uids = document.getElementsByName("delUids");
len = uids.length;
var j = 0;
for(var i=0;i<len;i++){
if(uids[i].checked){
j++;
};
}
if (j == 0) {
alert("请选择要删除的用户");
return false;
} else {
return true;
}
}
脚本应该这么写,document.getElementsByName("delUids");返回的是所有name=delUids一个集合,要判断属性checked是否为true
使用perseInt()转化类型在比较试试。。。
你的uids的值是有多少个复选框 并不是多少个选中的复选框 你需要遍历一遍 判断复选框的checked属性 才能得到被选中的复选框个数
选中的选项是【checkBox.checked == true】 ljy19900123 说的是对的……请自寻查阅。