javascript - document.getElementsByName 不适用于单选按钮中的动态值

标签 javascript html

我试图从 HTML 中的单选按钮标记获取值到 javascript,每次我尝试这样做时,我都会得到单选按钮的长度为 0 并且返回值未定义。这是我的代码片段(值是动态的

<html>
<body>
<form>
   What color do you prefer?<br>
   <input type="radio" name="colors" id="red"    onclick="check();">Red<br>
   <input type="radio" name="colors" id="green"  onclick="check();">Green<br>
   <input type="radio" name="colors" id="yellow" onclick="check();">Yellow<br>
   <input type="radio" name="colors" id="blue"   onclick="check();">Blue<br>
</form>
<script>
function check()
{
   var isChangeReqd=getRadioButtonValue(document.getElementsByName("colors"));
}
function getRadioButtonValue(radioObj)
{
   var value;
   var radioLength=radioObj.length;
   alert(radioLength); //is 0 //for value 

   for(var i=0;i<radioLength;i++)
   {
      if(radioObj[i].checked) return radioObj[i];
   }
}
</script>
</body>
</html>

最佳答案

您正在指定单选按钮的 ID,而不是单选按钮的名称。 使用 document.getElementsByName("colors") 代替 document.getElementsByName("red")

<html>
<body>
<form>What color do you prefer?<br>
  <input type="radio" name="colors" id="red"    onclick="check();">Red<br>
  <input type="radio" name="colors" id="green"  onclick="check();">Green<br>
  <input type="radio" name="colors" id="yellow" onclick="check();">Yellow<br>
  <input type="radio" name="colors"id="blue"    onclick="check();">Blue
</form>
<script>
function check()
{
   var isChangeReqd=getRadioButtonValue(document.getElementsByName("colors"));
}
function getRadioButtonValue(radioObj)
{
   var value;
   var radioLength=radioObj.length;
   alert(radioLength); //is 0 //for value 

   for(var i=0;i<radioLength;i++)
   {
      if(radioObj[i].checked) return radioObj[i];
   }
}
</script>
</body>
</html>

关于javascript - document.getElementsByName 不适用于单选按钮中的动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44691734/

相关文章:

javascript - Knockout : Table Select Unselect Row. 取消选择行的问题/挑战

javascript - 有没有办法修改在使用媒体功能和 javascript 的媒体查询下创建的样式?

html - 使用CSS删除高度自动

javascript - 如何在表格行中生成动态按钮并在单击按钮时打开新页面

javascript - 清除表单上的按钮设置

javascript - 想要创建发票,其中列 (td) 将使用相同的宽度删除或​​动态添加

html - css 悬停样式和 iOS

javascript - `1 + {}` 和 `{} + 1` 中的原始值转换如何发生?

javascript - 如何在模态对话框中获取选中的复选框行数据?

javascript - 如何通过查询字符串传递和检索 Html 标签