以前也问过这个问题了,见:
http://topic.csdn.net/u/20090519/12/2ffe1f76-1c89-481a-b8d6-d1125a850e24.html现在发现这个脚本不兼容ff浏览器,请大家帮忙改成可以兼容ff的。测试代码如下:<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD><TITLE>无标题页</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<SCRIPT type=text/javascript>
function getit()
{
    var chks=new Array();
    var lbls=new Array();
    var val='';
    var num=0;
    chks=document.getElementsByTagName('input');
    lbls=document.getElementsByTagName('label');
    for(var i=0;i<chks.length;i++)
    {
        if((chks[i].type=="checkbox") && (chks[i].checked == true))
        {
            for(var j=0;j<lbls.length;j++)
            {
                if(lbls[j].getAttributeNode('for').value==chks[i].id)
                {
                    ++num;
                    val = val + lbls[j].innerText.toString() + ",";
                }
            }
        }        
    }
    if(num > 2)
      alert("只允许选择2个以内的");
     else
     {
       val = val.substring(0,val.length-1,val.length);
        
       alert(val);
    
     }  
}
</SCRIPT>
<body>
<br />
<INPUT id=468 type=checkbox name=468><LABEL for=468>测试1</LABEL>
<INPUT id=469 type=checkbox name=469><LABEL for=469>测试2</LABEL>
<INPUT id=470 type=checkbox name=470><LABEL for=470>测试3</LABEL>
<br />
<INPUT title=确定 onclick=getit() type=submit value=确定>
</body>
</html>

解决方案 »

  1.   

    FF不支持innerText<HTML xmlns="http://www.w3.org/1999/xhtml">
    <HEAD><TITLE>无标题页</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=utf-8">
    <SCRIPT type=text/javascript>
    function getit()
    {
        var chks=new Array();
        var lbls=new Array();
        var val='';
        var num=0;
        chks=document.getElementsByTagName('input');
        lbls=document.getElementsByTagName('label');
        for(var i=0;i<chks.length;i++)
        {
            if((chks[i].type=="checkbox") && (chks[i].checked == true))
            {
                for(var j=0;j<lbls.length;j++)
                {
                    if(lbls[j].getAttributeNode('for').value==chks[i].id)
                    {
                        ++num;
                        var a = lbls[j].innerText || lbls[j].textContent;
                        val = val + a.toString() + ",";
                    }
                }
            }        
        }
        if(num > 2)
          alert("只允许选择2个以内的");
         else
         {
           val = val.substring(0,val.length-1,val.length);
            
           alert(val);
        
         }  
    }
    </SCRIPT>
    <body>
    <br />
    <INPUT id=468 type=checkbox name=468><LABEL for=468>测试1</LABEL>
    <INPUT id=469 type=checkbox name=469><LABEL for=469>测试2</LABEL>
    <INPUT id=470 type=checkbox name=470><LABEL for=470>测试3</LABEL>
    <br />
    <INPUT title=确定 onclick=getit() type=submit value=确定>
    </body>
    </html>