<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>复选框的全选</title>
</head>
<body>
<script language="JavaScript" type="text/JavaScript">
/* 是否全选标记 */
var checkedAll = false;
/* 全选/取消全选
* formName 所在form的name值
* checkboxName checkbox的name值
* 注意:所有checkbox的name值都必须一样,这样才能达到全选的效果
*/
function selectAll(formName,checkboxName){
var form = document.all.item(formName);
var elements = form.elements[checkboxName];
for (var i=0;i<elements.length;i++){
var e = elements[i];
if(checkedAll){
e.checked = false;
form.alls.checked = false;
} else {
e.checked = true;
form.alls.checked = true;
}
}
if(checkedAll){
checkedAll = false;
} else {
checkedAll = true;
}
}
/* 检查是否有checkbox被选中
* formName 所在form的name值
* checkboxName checkbox的name值
* 注意:所有checkbox的name值都必须一样,这样才能达到全选的效果
*/
function checkAll(formName,checkboxName){
var hasCheck = false;
var form = document.all.item(formName);
var elements = form.elements[checkboxName];
for (var i=0;i<elements.length;i++){
var e = elements[i];
if(e.checked){
hasCheck = true;
}
}
return hasCheck;
}
/* 执行操作 */
function do_action(){
if (!checkAll("formName","no")){
alert("没有checkbox被选中,提示用户至少选择一个!");
} else {
alert("已有checkbox被选中,可以继续后续操作!");
}
}
</script>
<form name="formName" method="get">
<table id="dataList" width="200" align="center" border="1">
<tr>
<td><input type="checkbox" name="alls" onClick="selectAll('formName','no')" title="全选/取消全选">
</td>
<td align="center"> 学号 </td>
<td align="center"> 姓名 </td>
</tr>
<tr>
<td><input type="checkbox" name="no" value="001" title="选择/不选择">
</td>
<td> 001 </td>
<td> 张三 </td>
</tr>
<tr>
<td><input type="checkbox" name="no" value="002" title="选择/不选择">
</td>
<td> 002 </td>
<td> 李四 </td>
</tr>
</table>
<p align="center"><input type="button" name="actionButton" value="操作" onClick="do_action()"></p>
</form>
</body>
</html>

后台Servlet获取值的代码:

//这是在java代码中获取checkbox的值
String type = "";
String[] type1 = request.getParameterValues("checkbox1");
for (int i = 0; i < type1.length; i++) {
type += type1[i] + ",";
}
System.out.println(type);
04-28 14:01