是不是HTML代码的问题,以下代码执行没错
<input type="checkbox" checked name="answer" value= "1">
<input type="checkbox" checked  name="answer" value= "2">
<input type="checkbox" checked  name="answer" value= "3">
<input type="checkbox" checked  name="answer" value= "4">
<script>
var temp=document.getElementsByName("answer");
var answer = "";
for (i=0;i<temp.length;i++){
  if(temp[i].checked) answer += temp[i].value;
}
alert(answer);</script>

解决方案 »

  1.   

    html:
    <input type="radio" name="SAnswer1" value="A">A
    <input type="radio" name="SAnswer1" value="B">Bjs:
    var n=1;
    var answer="";
    var temp;
    while(temp=document.getElementsByName("SAnswer"+n)!=null){
    for (i=0;i<temp.length;i++){
      if(temp[i].checked) answer += temp[i].value;
    }
    n=Number(n)+1;
    }
    单个的是可以,但加上while语句就不行了,会死循环(
    把i<temp.length改为 i<5 提示checked为空或不是对象百思不得其解啊
      

  2.   

    var n=1;
    var answer="";
    var temp;
    while(document.getElementsByName("SAnswer"+n).length>0){
    temp=document.getElementsByName("SAnswer"+n);
    for (i=0;i<temp.length;i++){
    if(temp[i].checked) answer += temp[i].value;
    }
    n=Number(n)+1;
    }