if(inputName[y].checked==true)      //如果被选中,返回值 

return inputName[y].value; 

                else 
                { 
                        return "no"; 
                } 
只要第一个不选中就返回no了

解决方案 »

  1.   

    别用else,因为循环第一次的时候若判断到单选框没有选中,直接就return了。
      

  2.   

    下面的写法for循环只是执行了一次就返回了,选中,则返回value,否则返回“no”
    你的第一个radio肯定没有选中
      

  3.   

    for(...){
    if{}else{}
    }
    在for执行第一次的时候,要不就执行if里面的内容,要不执行else里面的内容,你里面都有return,不可能执行循环后面的操作
      

  4.   

    下面的写法是只有第一个被选中的时候才会返回值,否则永远返回no原因:
    比如你有三个radio,选中的是第二个或第三个
    循环走到判断第一个的是否,未选中,所以走到else里去,你就直接return "no"掉了,
    跳出了整个函数(包括循环体),下面的就不再循环判断了
      

  5.   

    第二个肯定有错误的,如果你有N个radio,除非你最后一个radio是checked。那么返回就是inputName[y].value; 
      但是如果最后一个radio不是true,那么返回永远是no
    你在好好的看下你的第二个循环,其实现在的是这样写了:
    function checkRadio(InputName)
    {
    var inputName=document.getelementByTagName(“InputName”);
    for(var y=0;y <inputName.length;y++)
    {
    if(inputName[y].checked==true)
    {
    return inputName[y].value;
    }
    }
    return "no";