我测试没有问题啊。
修改成这样呢?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script language="JavaScript" type="text/javascript">
window.onload = function () {
document.forms[0].elements["submit"].onclick = function () {
var checkedCount = 0;
var Item = this.form.elements;
for (var i = 0; i < Item.length; i ++) {
if (Item[i].checked)
checkedCount ++;
}
if (checkedCount > 5 || checkedCount < 3) {
alert("请选择3-5个选项!");
return false;
}
return true;
}
}
</script>
</head>
<body>
<form action="somepage.php" method="post" name="theForm">
<dl>
<dd><input type="checkbox" name="option1">1</dd>
<dd><input type="checkbox" name="option2">2</dd>
<dd><input type="checkbox" name="option3">3</dd>
<dd><input type="checkbox" name="option4">4</dd>
<dd><input type="checkbox" name="option5">5</dd>
<dd><input type="checkbox" name="option6">6</dd>
<dd><input type="checkbox" name="option7">7</dd>
</dl>
<input name="submit" type="submit" value="Submit !">
</form>
</body>
</html>
修改成这样呢?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script language="JavaScript" type="text/javascript">
window.onload = function () {
document.forms[0].elements["submit"].onclick = function () {
var checkedCount = 0;
var Item = this.form.elements;
for (var i = 0; i < Item.length; i ++) {
if (Item[i].checked)
checkedCount ++;
}
if (checkedCount > 5 || checkedCount < 3) {
alert("请选择3-5个选项!");
return false;
}
return true;
}
}
</script>
</head>
<body>
<form action="somepage.php" method="post" name="theForm">
<dl>
<dd><input type="checkbox" name="option1">1</dd>
<dd><input type="checkbox" name="option2">2</dd>
<dd><input type="checkbox" name="option3">3</dd>
<dd><input type="checkbox" name="option4">4</dd>
<dd><input type="checkbox" name="option5">5</dd>
<dd><input type="checkbox" name="option6">6</dd>
<dd><input type="checkbox" name="option7">7</dd>
</dl>
<input name="submit" type="submit" value="Submit !">
</form>
</body>
</html>
for (var i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i].type == "checkbox")
{
if(document.forms[0].elements[i].checked) checkedCount++;
}
}
问个小小的问题呗。
http://community.csdn.net/Expert/topic/5269/5269087.xml?temp=4.900759E-02
首先要纠正lz的错误概念了id就跟身份证一样是不可以重复的,name和姓名一样是可以重复的了。
把所有的checkbox 的name设置为optionCheck 然后用op获取checkbox的数组,循环一下
var op = document.getElementById("theForm").optionCheck;
for (var i=0;i<op.length;i++){
////..... some code here ........
}
就可以了。lz试试看了<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>这回可以了</title>
</head>
<body>
<form action="somepage.php" method="post" name="theForm">
<dl>
<dd><input type="checkbox" name="optionCheck">1</dd>
<dd><input type="checkbox" name="optionCheck">2</dd>
<dd><input type="checkbox" name="optionCheck">3</dd>
<dd><input type="checkbox" name="optionCheck">4</dd>
<dd><input type="checkbox" name="optionCheck">5</dd>
<dd><input type="checkbox" name="optionCheck">6</dd>
<dd><input type="checkbox" name="optionCheck">7</dd>
</dl>
<input name="submit" type="submit" value="Submit !">
</form>
</body>
</html>
<script language="JavaScript" type="text/javascript">
document.forms[0].elements["submit"].onclick=function(){
var checkedCount=0;
var op = document.getElementById("theForm").optionCheck;
for (var i=0;i<op.length;i++){
if(op[i].checked)
checkedCount++;
}
if(checkedCount>5 || checkedCount<3){
alert("请选择3-5个选项!");
return false;
}
return true;
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="somepage.php" method="post" name="theForm">
<dl>
<dd><input type="checkbox" name="option">1</dd>
<dd><input type="checkbox" name="option">2</dd>
<dd><input type="checkbox" name="option">3</dd>
<dd><input type="checkbox" name="option">4</dd>
<dd><input type="checkbox" name="option">5</dd>
<dd><input type="checkbox" name="option">6</dd>
<dd><input type="checkbox" name="option">7</dd>
</dl>
<input name="submit" type="submit" value="Submit !">
</form>
</body>
</html>
<script language="JavaScript" type="text/javascript">
document.forms[0].elements["submit"].onclick=function(){
var checkedCount=0;
for (var i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i].type == "checkbox")
{
if(document.forms[0].elements[i].checked) checkedCount++;
}
}
if(checkedCount>5 || checkedCount<3){
alert("请选择3-5个选项!");
return false;
}else{
return true;
}
}
</script>
寫成這樣還是沒有用,在IE下面即使彈出了提示,仍然提交出去了