使用原型或纯JavaScript获取表单中的所有单选按钮?

使用原型或纯JavaScript获取表单中的所有单选按钮?,javascript,prototypejs,Javascript,Prototypejs,我有一个简单的表单,其中包括许多单选按钮。其中一些被选中,一些未被选中。是否有办法将它们全部设置为“未检查”。我猜设置为not Check可以这样做: button.checked = false; 问题是,我如何得到所有的按钮 谢谢 document.querySelectorAll( 'input[type="radio"]' ); 这将返回一个节点列表,其中包含radio类型的所有元素。然后,您可以遍历列表并更改所有的选中属性。您认为: var inputs = document.ge

我有一个简单的表单,其中包括许多单选按钮。其中一些被选中,一些未被选中。是否有办法将它们全部设置为“未检查”。我猜设置为not Check可以这样做:

button.checked = false;
问题是,我如何得到所有的按钮

谢谢

document.querySelectorAll( 'input[type="radio"]' );
这将返回一个节点列表,其中包含radio类型的所有
元素。然后,您可以遍历列表并更改所有的
选中属性。

您认为:

var inputs = document.getElementsByTagName("input");

for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].type == "radio") {
        inputs[i].checked = false;
    }
}
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i

请注意,某些旧IE中不支持getElementsByTagName…

您的问题同时被标记为和。若您想从PrototypeJS中获得更多的语法糖分,那个么答案可能如下

$$('input[type="radio"]:checked').each(function(c){
    $(c).checked = false;
});
$$('input[type="radio"]:checked').invoke('setValue', false);
Prototype
翻译成英语听起来像是对所有选中的单选按钮执行
invoke setValue(false)操作

要在一个表单中搜索,可以使用类似的结构

$('yourFormId').select('input[type="radio"]:checked').invoke('setValue', false);
若您想要与IE6兼容的JavaScript,那个么答案将是

var inputs = document.getElementsByTagName('input');
for (var i = 0, len = inputs.length; i < len; ++i) {
  if (inputs[i].type === "radio") {
    inputs[i].checked = false;
  }
}
var inputs=document.getElementsByTagName('input');
对于(变量i=0,len=inputs.length;i
这在哪些浏览器中可用?我以前从没见过这个<几乎所有现代浏览器都支持code>querySelectorAll()
。看,我只是在找那个<代码>document.forms.formName.getElementByTagName(“输入”)可能会缩小范围。谢谢!但是我相信OP想要取消选中页面上的所有单选按钮,所以这可能不是他想要的。但这确实是一个很好的评论@约瑟夫玛丽克莱特应该在那里。它是一个变量,可用于网页中包含的所有JS@user1856596Typo:没有
文档.getElementByTagName
(您需要
文档.getElementsByTagName
)。感谢您的关注@Victorth double
$$
应该将其作为prototypeYeah,这就是我问的原因(我从未见过或使用过Prototype,我只是好奇)。在
$$()
之后不需要
$()
,结果中的所有元素都已扩展。