【问题标题】:How to get value of the checked radio如何获得已检查收音机的价值
【发布时间】:2011-08-09 15:58:18
【问题描述】:

我正在尝试使用以下代码获取选中的单选按钮的值:

<html>
<head>
<script type="text/javascript" >
    window.onload = initAll;

    function initAll(){     
        var allAnchors = document.getElementsByName("options");
        for ( var int = 0; int < allAnchors.length; int++) {
            if(allAnchors[int].className == "buttonLink"){
                allAnchors[int].onclick = fetchQuestion;
            }
        }
    }

    function fetchQuestion(){

        var toLoad = this.href;
        var selectedAnswer = "";                
        var allRadio = document.getElementsByTagName("input");

        for(var i = 0;i<allRadio.length; i++){
            if(allRadio[i].checked == true){
                selectedAnswer = allRadio[i].value;
            }
        }       
            alert(selectedAnswer);
                return false;
         }
</script>
</head>
<body>
<input type="radio" name="options" value="optA" />&nbsp; &nbsp;Operating System is used for Efficeint Resource Sharing Operating System is used for Efficeint Resource Sharing Operating System is used for Efficeint Resource Sharing <br/>
             <input type="radio" name="options" value="optB" />&nbsp; &nbsp;Operating System is used for Efficeint Resource Sharing <br/>
             <input type="radio" name="options" value="optC" />&nbsp; &nbsp;Operating System is used for Efficeint Resource Sharing <br/>
             <input type="radio" name="options" value="optD" />&nbsp; &nbsp;Operating System is used for Efficeint Resource Sharing <br/>
<a href="SubmitSheet" class="buttonLink">Submit</a>
        <a href="NextQuestion" class="buttonLink">Next</a>
        <a href="PreviousQuestion" class="buttonLink">Previous</a>
        <a href="PassQuestion" class="buttonLink">Pass</a>
</body>
</html>

如果我在这里使用document.getElementByTagName("input"),那么它正在工作。但document.getElementByName("options") 不是。那么这有什么问题呢??我不能将 document.getElementByName 与单选按钮一起使用吗?

【问题讨论】:

  • int不是js中的保留关键字吗?
  • @geekchic: 不,见the spec: ininstanceofinterface 可能是,但int 不是。

标签: javascript radio-button getelementsbyname


【解决方案1】:

也许你的意思是document.getElementsByName()。请注意复数,因为它可能返回多个节点。

【讨论】:

  • 感谢阿尔瓦罗,这完全令人沮丧。非常感谢
【解决方案2】:

问题很可能是你调用“document.getElementByName("options")”

getElementByName 未定义

你想调用 getElementsByName,它会返回一个元素集合。

【讨论】:

    【解决方案3】:

    我相信该方法是复数document.getElementsByName,因为许多项目可以共享一个名称。如果您想要单个元素,请添加一个 id 并使用 document.getElementById 或使用名称并缩小您的数组范围。

    javascript getElementByName doesn't work

    【讨论】:

      【解决方案4】:

      只需更改这一行:

      var allAnchors = document.getElementsByName("options");
      

      改为:

      var allAnchors = document.getElementsByTagName("a");
      

      您的代码 should work 符合预期。

      getElementsByName 有自己的用法,但要获取文档中的所有锚标记,您需要其他方法,即getElementsByTagName

      【讨论】:

        【解决方案5】:

        自己看:

        javascript:a=document.getElementsByName("options")[0];alert(a.value)
        
        javascript:a=document.getElementsByTagName("input")[0];alert(a.value)
        

        【讨论】:

          猜你喜欢
          • 2016-05-29
          • 2013-04-14
          • 2015-07-29
          • 1970-01-01
          • 1970-01-01
          • 2011-05-23
          • 2014-04-15
          • 2013-11-20
          • 2010-12-20
          相关资源
          最近更新 更多