<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無標題頁</title>
<script language=javascript>
//單選與全選的判斷
function check(e, allName){
var all = document.getElementsByName(allName)[0]; //獲取全選複選框
if(!e.checked){
//沒被選中全選複選框置爲false;
all.checked = false;
} else {
//選中,遍歷數組
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
//只要數組中有一個沒有選中返回。假如所有的都是選中狀態就將全選複選框選中;
if(!aa[i].checked) return;
all.checked = true;
}
}
//複選框的選擇
function checkSub(e, itemName){
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++){
aa[i].checked = e.checked;
}
}
//發送前檢查
function checkItem(itemName){
var aa = document.getElementsByName(itemName);
var flag = true;
for (var i=0; i<aa.length; i++){
if(aa[i].checked){
alert(r[i].value+","+r[i].nextSibling.nodeValue);
flag = false;
}
}
if(flag){
alert("至少選一個");
return true;
}else{
sendDBs();
}
}
var tisub = "first";
function sendDBs(){
if("first"==tisub){
tisub = "other";
document.all.myform.action="<%=path %>/SendDBction.do?method=sendDB";
document.all.myform.submit();
}
}
</script>
</head>
<body>
<form id="myform" name="myform" method="post" id="myform" action="" >
<input name="id" type="checkbox" οnclick="check(this, 'checkAll')" value="1"/> 開
<input name="id" type="checkbox" οnclick="check(this, 'checkAll')" value="2"/> 開
<input name="id" type="checkbox" οnclick="check(this, 'checkAll')" value="3"/> 心
<input name="id" type="checkbox" οnclick="check(this, 'checkAll')" value="4"/> 心
<input name="chkAll" type="checkbox" id="chkAll" οnclick="CheckAll(this,'id')" value=""/>
全選
<input type="button" οnclick="aa('id')" value="選中值"/>
</form>
</body>
</html>
</body>
</html>
後臺獲取checkbox的值,只需一句代碼:
String[] st = request.getParameterValues("id");即可得到String類型的數組。
若是表單的value值是動態的,並且後臺希望獲得兩個動態值的話,
也即表單<input>如下:<input name="id" type="checkbox" οnclick="check(this, 'checkAll')" value="<%=uid%>">
String[] st = request.getParameterValues("id")在後臺只能獲取uid的數組,現在還想獲取uname值,怎麼辦呢?這是可以再加一個<input />,比如
<input name="id" type="checkbox" οnclick="check(this, 'checkAll')" value="<%=uid%>"/> 心
<input name="name" type="hidden" οnclick="check(this, 'checkAll')" value="<%=uname%>"/> (隱藏input)
提交表單時<input type="button" οnclick="aa('id','name')" value="選中值"/>
在後臺
String[] st1 = request.getParameterValues("id");
String[] st2 = request.getParameterValues("name");