检查所有单选按钮是否在本机javascript中检查

检查所有单选按钮是否在本机javascript中检查,javascript,Javascript,我有一个gatherRadioBtn()函数,用于发布表单,否则会在页面中显示错误。这需要checkRadioWrapper()的提示来检查是否选中了所有单选按钮 但是,true条件没有实现。我的(r[i].type==“radio”)&&中有错误吗!(r[i]。选中)表达式 将很快上传到JSFIDLE上 谢谢 function checkRadioWrapper() { for (var i=0; i < r.length; i++) { if ( (r

我有一个gatherRadioBtn()函数,用于发布表单,否则会在页面中显示错误。这需要checkRadioWrapper()的提示来检查是否选中了所有单选按钮

但是,
true
条件没有实现。我的
(r[i].type==“radio”)&&中有错误吗!(r[i]。选中)
表达式

将很快上传到JSFIDLE上

谢谢

function checkRadioWrapper()
{
    for (var i=0; i < r.length; i++)
    {
        if (  (r[i].type == "radio") && !(r[i].checked) )
        {
            return false;   
        }
    }

    return true;
}

function gatherRadioBtn()
{
    alert("in gather");
    var r = document.getElementsByTagName("input");
    var literal = [];

    for (var i=0; i < r.length; i++)
    {
        if (  (r[i].type == "radio") && r[i].checked )
        {
            literal.push(r[i].name);
            literal.push(r[i].value);
        }
    }

    if (checkRadioWrapper())
    {
        document.getElementById("Errnodata").innerHTML = "" ;  
        var joinedArray = literal.join(", ");
        window.opener.document.getElementById("myarray").value= joinedArray;
        window.opener.getVolunteerDetails();
        window.close();
    }
    else
    {
       document.getElementById("Errnodata").innerHTML = "Please select for every radio btns!" ;  
    }
}
函数checkRadioWrapper()
{
对于(变量i=0;i
您必须将“r”作为参数传递给函数:

function checkRadioWrapper( r )
{
    for (var i=0; i < r.length; i++)
      // etc

这就是说,在一组共享相同名称的单选按钮中,浏览器将永远不允许同时检查所有按钮。因此,这真的没有多大意义。如果您的单选按钮与其他单选按钮不共享名称,那么它们应该是复选框而不是单选按钮。

我认为是
var r=document.getElementsByTagName(“输入”),它们的名称不同。顺便说一句,你的解决方案很有帮助;非常感谢!不客气!正如我在上面写的,如果你有所有不同名称的单选按钮,那么它们应该是复选框。
if (checkRadioWrapper( r ))