0

如何验证无线电场?必须检查它,如果没有检查,我希望显示一个 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
4

2 回答 2

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。

于 2013-06-17T17:44:04.860 回答
0
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
}
于 2013-06-17T17:35:51.733 回答