【问题标题】:How can I validate this radio button?如何验证此单选按钮?
【发布时间】:2013-06-13 18:03:45
【问题描述】:

如何验证无线电场?必须检查它,如果没有检查,我想显示一个 err_radio441 或一个警报。我读了一些关于检查的帖子,但我从名字中提取,因为我知道 ID 不起作用。我错过了 .checked 什么的。任何帮助将不胜感激!

function validateForm()  {
    var primaryfullname=document.getElementById('primaryfullname').value.trim();
    var birthdate=document.getElementById('birthdate').value.trim();
    var radio441=document.getElementByName('radio441').value.trim();

var count=0;

 if (primaryfullname.length==0)  {
     document.getElementById("err_primaryfullname").innerHTML="<br><span class='errorbar'>*You must enter a primary name</span>";
            } else {
    count++; 
    document.getElementById("err_primaryfullname").innerHTML="";
   }



  if (birthdate.length==0)   {
     document.getElementById("err_birthdate").innerHTML="<br><span class='errorbar'>*You must enter a primary birth date</span>";
            } else {
    count++; 
    document.getElementById("err_birthdate").innerHTML="";
   }



 if (radio441.length==0)  {   
     document.getElementById("err_radio441").innerHTML="<br><span class='errorbar'>*You must select a gender</span>";
            }  else  {
     count++; 
     document.getElementById("err_radio441").innerHTML="";
   }

 if (count==3)
     {
      return true;
      } else {
      return false;
      }

} // End Validation Function

【问题讨论】:

    标签: javascript validation field radio checked


    【解决方案1】:

    试试这个:

    var radio441 = document.getElementsByName('radio441');
    
    // your other code
    
    function checkRadio(elem){
        for (var i = 0; i < elem.length; i++) {
            if(elem[i].checked) return true;      
        }
        return false;
    }
    
    if (!checkRadio(radio441)){
         document.getElementById("err_radio441").innerHTML="<br><span class='errorbar'>*You must select a gender</span>";
    } else {
        count++; 
        document.getElementById("err_radio441").innerHTML="";
    }
    

    循环遍历每个单选按钮,如果其中任何一个被选中则返回 true,如果没有选中则返回 false。

    【讨论】:

    • 这很棒!谢谢!我尝试了 if (!radio441.checked) 方法,但没有成功。但现在我明白为什么了。这也适用于复选框吗?
    • @PhilMulkins - 很高兴它有帮助!是的,它也适用于复选框。
    【解决方案2】:
    if (!radio441.checked) {
       // The radiobutton is not checked
    } else {
       // The radiobutton is checked
    }
    

    编辑
    要按名称获取元素,您必须使用document.getElementsByName('radio441')[0],假设只有一个具有该名称的元素。

    var radio441 = document.getElementsByName('radio441')[0];
    if (!radio441.checked) {
       // The radiobutton is not checked
    } else {
       // The radiobutton is checked
    }
    

    【讨论】:

    • 这有帮助!这也可以用于复选框吗?
    猜你喜欢
    • 2023-04-06
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2012-12-01
    • 2012-12-28
    相关资源
    最近更新 更多