JS测试多选框的个数为什么会这样?
<form   method= "post "   onSubmit= "return   chkBox(); ">  
  <input   type= "submit "   id= "btnSubmit "   value= "   提   交    "   />  
  <input   type= "checkbox "   name= "test[] "   id= "test "   /> 测试一    
  <input   type= "checkbox "   name= "test[] "   id= "test "   /> 测试二 
  </form>  
  <script   language= "javascript ">  
 function   chkBox   () 
 {	 
 	var   arr   =   document.all( "test "); 
                            //var   arr   =   document.getElementById( "test "); 
 	alert(arr.length); 
 	return   false; 
 } 
  </script>  
 这个能正常显示出 "arr.length "多选框有2个。   
 但是当把    ' <input   type= "checkbox "   name= "test[] "   id= "test "   /> 测试二 '   这个多选框去掉,只留下“测试一”这个多选框。那弹出来的arr.length本应是1的。但是却弹出“未定义(undefine)”,为啥啊?对多选框的length只有一个时,测试不出来吗?有啥好的解决方法没?
------解决方案--------------------alert(document.getElementsByName( "test[] ").length);
------解决方案-------------------- <form method= "post " onSubmit= "return chkBox(); ">  
  <input type= "submit " id= "btnSubmit " value= " 提 交  " />  
  <input type= "checkbox " name= "test " /> 测试一  
  <input type= "checkbox " name= "test " /> 测试二 
  </form>  
  <script language= "javascript ">  
 function chkBox () 
 {	 
 	var arr=document.getElementsByName( "test "); 
 	alert(arr.length); 
 	return false; 
 } 
  </script>