0

我正在尝试将一组单选按钮放入 javascript 中以重置它们,但是以下代码使r.length = 0. 有谁知道我是否能够使用 getElementByName 访问单选按钮,如果不能,在 asp.net 中使用母版页时的正确方法是什么?

脚本

        function clearRadios(groupName) {

        var r = document.getElementsByName(groupName);
        for (var i = 0; i < r.length; i++) {
              r[i].checked = false;
             }
        }

HTML

<input type="radio" runat="server" name="ach_options" id="option1" />

<input type="radio"  runat="server" name="ach_options" id="option2" />

<input type="radio"  runat="server" name="ach_options" id="option3" />

这就是我调用 javascript 函数的方式:

clearRadios("options");

火狐控制台 在此处输入图像描述

4

1 回答 1

2

这可能是由于各种原因,但我建议您将单选按钮包装在 div 中并使用getElementsByTagName('input')

HTML:

<div id="myDiv">
   <input type="radio" runat="server" name="ach_options" id="option1" />
   <input type="radio"  runat="server" name="ach_options" id="option2" />
   <input type="radio"  runat="server" name="ach_options" id="option3" />
</div>

Javascript:

 function clearRadios(wrapperid) {
    var wrapper = document.getElementById(wrapperId);

    //Using getElementsByTagName()
    var r = wrapper.getElementsByTagName('input');

    for (var i = 0; i < r.length; i++) {
          r[i].checked = false;
    }
 }

函数调用:

clearRadios('myDiv');
于 2013-10-15T17:34:30.570 回答