<script language="javascript">
function GetCheckNum(checkobjectname)
{
var truei2 = 0;
checkobject = eval("document.all."+checkobjectname);
var inum = checkobject.length;
if (isNaN(inum))
{
inum = 0;
}
for(i=0;i<inum;i++){
if (checkobject[i].checked == 1){
truei2 = truei2 + 1;
}
}
return truei2;
}
function checknum(checkobjectname,maxnum){
var truei2 = GetCheckNum(checkobjectname);
if (truei2 > maxnum){
alert("你选择了"+truei2+"个,而最大的选择数是"+maxnum+"个!!!");
window.event.returnValue = false;
return false;
}
return  true;
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <td width="10%"><FORM name="form" method=post action=cc.php> 
  <tr> 
    <td>嶲</td>
    <td width="7%">11-19 <input type=hidden name=date1 value=20041119></td>
    <td width="7%">11-20 <input type=hidden name=date1 value=20041120></td>
    <td width="7%">11-21 <input type=hidden name=date1 value=20041121></td>
    <td width="7%">11-22 <input type=hidden name=date1 value=20041122></td>
    <td width="7%">11-23 <input type=hidden name=date1 value=20041123></td>
    <td width="8%">11-24 <input type=hidden name=date1 value=20041124></td>
    <td width="47%">11-25 <input type=hidden name=date1 value=20041125></td>
  </tr>
  <tr> 
    <td>9:20-10:20<br></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 9 0 onclick="javascript:checknum('selectedSlotIds',2);"></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 9 1></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 9 2></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 9 3></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 9 4></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 9 5></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 9 6></td>
  </tr>
  <tr> 
    <td>10:20-11:20<br></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 10 0 onclick="javascript:checknum('selectedSlotIds',2);"></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 10 1></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 10 2></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 10 3></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 10 4></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 10 5></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 10 6></td>
  </tr>
  <tr> 
    <td>11:20-12:20<br></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 11 0 onclick="javascript:checknum('selectedSlotIds',2);"></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 11 1></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 11 2></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 11 3></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 11 4></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 11 5></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 11 6></td>
  </tr>
  <tr> 
    <td>12:20-13:20<br></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 12 0 onclick="javascript:checknum('selectedSlotIds',2);"></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 12 1></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 12 2></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 12 3></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 12 4></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 12 5></td>
    <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 12 6></td>
  </tr>
  <tr> 
    <td colspan="8">&nbsp;</td>
  </tr>
</table>

解决方案 »

  1.   

    把你的checkbox的name重新命名成数组型的,然后用eval()转化成对对象操作,做一个temp判断就行了
      

  2.   


    <input type=button value=OK onclick="OkFun();">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <td width="10%"><FORM name="form" method=post action=cc.php> 
      <tr> 
        <td>嶲</td>
        <td width="7%">11-19 <input type=hidden name=date1 value=20041119></td>
        <td width="7%">11-20 <input type=hidden name=date1 value=20041120></td>
        <td width="7%">11-21 <input type=hidden name=date1 value=20041121></td>
        <td width="7%">11-22 <input type=hidden name=date1 value=20041122></td>
        <td width="7%">11-23 <input type=hidden name=date1 value=20041123></td>
        <td width="8%">11-24 <input type=hidden name=date1 value=20041124></td>
        <td width="47%">11-25 <input type=hidden name=date1 value=20041125></td>
      </tr>
      <tr> 
        <td>9:20-10:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041119 9 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041120 9 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041121 9 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041122 9 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041123 9 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041124 9 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041125 9 6></td>
      </tr>
      <tr> 
        <td>10:20-11:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041119 10 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041120 10 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041121 10 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041122 10 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041123 10 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041124 10 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041125 10 6></td>
      </tr>
      <tr> 
        <td>11:20-12:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041119 11 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041120 11 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041121 11 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041122 11 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041123 11 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041124 11 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041125 11 6></td>
      </tr>
      <tr> 
        <td>12:20-13:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041119 12 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041120 12 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041121 12 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041122 12 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041123 12 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041124 12 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041125 12 6></td>
      </tr>
      <tr> 
        <td colspan="8">&nbsp;</td>
      </tr>
    </table><script language=javascript>/**
    * This function is to get the number of the checked checkboxes.
    * JK 2003-12-08
    */
    function getCheckedCheckboxesNum(nameOfCheckBox)
    {
    var theNum=0;
    var theCheckboxInputs=document.getElementsByName(nameOfCheckBox);
    for (var i=0;i<theCheckboxInputs.length;i++)
    {
    if(theCheckboxInputs[i].checked) theNum++;
    }
    return theNum;
    }function OkFun()
    {
    for(var i=1;i<5;i++)
    {
      if(getCheckedCheckboxesNum("selectedSlotIds"+i)>2)
      {
        alert(i+"-----Too many!");
        return false;
      }
    }
    alert("Ok!");
    }
    </script>
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    </HEAD><BODY>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <td width="10%"><FORM name="form" method=post action=cc.php> 
      <tr> 
        <td>嶲</td>
        <td width="7%">11-19 <input type=hidden name=date1 value=20041119></td>
        <td width="7%">11-20 <input type=hidden name=date1 value=20041120></td>
        <td width="7%">11-21 <input type=hidden name=date1 value=20041121></td>
        <td width="7%">11-22 <input type=hidden name=date1 value=20041122></td>
        <td width="7%">11-23 <input type=hidden name=date1 value=20041123></td>
        <td width="8%">11-24 <input type=hidden name=date1 value=20041124></td>
        <td width="47%">11-25 <input type=hidden name=date1 value=20041125></td>
      </tr>
      <tr> 
        <td>9:20-10:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 9 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 9 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 9 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 9 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 9 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 9 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 9 6></td>
      </tr>
      <tr> 
        <td>10:20-11:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 10 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 10 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 10 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 10 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 10 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 10 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 10 6></td>
      </tr>
      <tr> 
        <td>11:20-12:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 11 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 11 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 11 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 11 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 11 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 11 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 11 6></td>
      </tr>
      <tr> 
        <td>12:20-13:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041119 12 0></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041120 12 1></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041121 12 2></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041122 12 3></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041123 12 4></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041124 12 5></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds value=20041125 12 6></td>
      </tr>
      <tr> 
        <td colspan="8">&nbsp;</td>
      </tr>
    </table>
    <script>
    function test_check(){
    var obj = document.all.selectedSlotIds
    var jj=0;
      for(i=0;i<obj.length;i++)
      if(obj[7].checked==true){
        //alert("******");
        jj++;
     }
     if(jj>2)
    alert("不能选择2个以上");
    }
    </script>
    <input type=button value="测试" onclick=test_check()>
    </BODY>
    </HTML>
      

  4.   

    checkbox的value应该加引号<input type=checkbox name=selectedSlotIds value="20041119 9 0" onpropertychange="checkSum(this)">function checkSum(cbObj){
    if(cbObj.checked){

     var value=cbObj.value.substring(0,7)
    var objs=document.body.getElementsByTagName('input')
     var sum=0
    for(var i=0;i<objs.length;i++){
       if(objs[i].type=='checkbox'&&objs[i].checked&&objs[i].value.indexOf(value)!=-1){
         sum++
         if(sum>2){
         alert('test')
         cbObj.checked=false
         return false
         }
       }
    }
    return true

    }

    }
      

  5.   

    //=====================================================
    详细代码如下:(将一列中的checkbox的name编为一组,共7组)
    <html>
    <head>
    <script language="javascript">
    function GetCheckNum(checkobjectname)
    {
    var truei2 = 0;
    //checkobject = eval("document.all."+checkobjectname);
    var checkobject=document.getElementsByName(checkobjectname);
    var inum = checkobject.length;
    if (isNaN(inum))
    {
    inum = 0;
    }
    for(i=0;i<inum;i++){
    if (checkobject[i].checked == 1){
    truei2 = truei2 + 1;
    }
    }
    return truei2;
    }
    function checknum(checkobjectname,maxnum){
    var truei2 = GetCheckNum(checkobjectname);
    if (truei2 > maxnum){
    alert("你选择了"+truei2+"个,在一日中只有两个时间段可以选择!!!");
    window.event.returnValue = false;
    return false;
    }
    return true;
    }
    </script>
    </head>
    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <td width="10%"><FORM name="form" method=post action=cc.php> 
      <tr> 
        <td>嶲</td>
        <td width="7%">11-19 <input type=hidden name=date1 value=20041119></td>
        <td width="7%">11-20 <input type=hidden name=date1 value=20041120></td>
        <td width="7%">11-21 <input type=hidden name=date1 value=20041121></td>
        <td width="7%">11-22 <input type=hidden name=date1 value=20041122></td>
        <td width="7%">11-23 <input type=hidden name=date1 value=20041123></td>
        <td width="8%">11-24 <input type=hidden name=date1 value=20041124></td>
        <td width="47%">11-25 <input type=hidden name=date1 value=20041125></td>
      </tr>
      <tr> 
        <td>9:20-10:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041119 9 0 onClick="checknum('selectedSlotIds1',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041120 9 1 onClick="checknum('selectedSlotIds2',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041121 9 2 onClick="checknum('selectedSlotIds3',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041122 9 3 onClick="checknum('selectedSlotIds4',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds5 value=20041123 9 4 onClick="checknum('selectedSlotIds5',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds6 value=20041124 9 5 onClick="checknum('selectedSlotIds6',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds7 value=20041125 9 6 onClick="checknum('selectedSlotIds7',2);"></td>
      </tr>
      <tr> 
        <td>10:20-11:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041119 10 0 onClick="checknum('selectedSlotIds1',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041120 10 1 onClick="checknum('selectedSlotIds2',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041121 10 2 onClick="checknum('selectedSlotIds3',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041122 10 3 onClick="checknum('selectedSlotIds4',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds5 value=20041123 10 4 onClick="checknum('selectedSlotIds5',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds6 value=20041124 10 5 onClick="checknum('selectedSlotIds6',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds7 value=20041125 10 6 onClick="checknum('selectedSlotIds7',2);"></td>
      </tr>
      <tr> 
        <td>11:20-12:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041119 11 0 onClick="checknum('selectedSlotIds1',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041120 11 1 onClick="checknum('selectedSlotIds2',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041121 11 2 onClick="checknum('selectedSlotIds3',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041122 11 3 onClick="checknum('selectedSlotIds4',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds5 value=20041123 11 4 onClick="checknum('selectedSlotIds5',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds6 value=20041124 11 5 onClick="checknum('selectedSlotIds6',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds7 value=20041125 11 6 onClick="checknum('selectedSlotIds7',2);"></td>
      </tr>
      <tr> 
        <td>12:20-13:20<br></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds1 value=20041119 12 0 onClick="checknum('selectedSlotIds1',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds2 value=20041120 12 1 onClick="checknum('selectedSlotIds2',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds3 value=20041121 12 2 onClick="checknum('selectedSlotIds3',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds4 value=20041122 12 3 onClick="checknum('selectedSlotIds4',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds5 value=20041123 12 4 onClick="checknum('selectedSlotIds5',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds6 value=20041124 12 5 onClick="checknum('selectedSlotIds6',2);"></td>
        <td bgcolor="#AACCFF"><input type=checkbox name=selectedSlotIds7 value=20041125 12 6 onClick="checknum('selectedSlotIds7',2);"></td>
      </tr>
      <tr> 
        <td colspan="8">&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    //========================================================================
    拷下来运行即可!!!
      

  6.   

    如果你的checkboxNAME一定要都是selectSlotIds的话,可以将<td>进行编号为一组,共7组
    进行判断,
    如上即可!!!