function check()
{
  var checknum=0;
  var a = document.getElementsByTagName("input");
   for (var i=0; i<a.length; i++){
      if ((a[i].type == "checkbox")&&( a[i].checked ))
          checknum++;
     }
    if (checknum!=1)
       {
            alert('只能选择一个');
            return false;
       }
return true;
}

解决方案 »

  1.   

    <input type=checkbox name=c>
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <input type=checkbox name=c>    
    <script>    
    document.onclick=check;
    function check(){
    var ch=document.getElementsByName("c")
    var num=0;
    for (i=0;i<ch.length;i++)ch[i].checked=false
    event.srcElement.checked=true
    }
    </script>
      

  2.   

    上面去掉var num=0,没用的
    :)
      

  3.   

    checkbox本来就是多选用的,要那种效果用radio好了。
    不过也不是不能写
    <input type=checkbox value=4><input type=checkbox value=5><input type=checkbox value=6><input type=checkbox value=7><input type=checkbox value=2><input type=checkbox value=3><input type=text value=4>
    <script>
    function document.body.onclick()
      {if(event.srcElement.type!="checkbox")
         return true;
       var ys=document.getElementsByTagName("INPUT");
       var i;
       for(i=0;i<ys.length;i++)
         if(ys[i].type=="checkbox")
           ys[i].checked=0;
       event.srcElement.checked=1
      }
    </script>