如何验证单选按钮?

时间:2012-10-20 12:05:34

标签: javascript validation button radio

我如何在复选框上放置验证?

这是我的代码:

<script>
function Validate(){
   var cntct = document.getElementById("contact").value;
   if (cntct.value=="")
   {
      alert("Please select contact medium");
      return false;
   }
}
</script>

<input type="radio" name="contact" id="contact" value="SMS">
<label>SMS</label> <input type="radio" name="contact" id="contact" value="CALL">
<label>CALL</label> <input type="radio" name="contact" id="contact" value="EMAIL">
<label>EMAIL</label>

请帮助..

4 个答案:

答案 0 :(得分:0)

简单: if(cntct ==“”) {

}

cntct变量是值!

答案 1 :(得分:0)

如果是复选框和单选按钮,则在“checked”属性为true时检查该元素:

function Validate(){
    var selectedValue = "";
    var cntct = document.getElementsByname("contact");
    for(var i=0;i<cntct.length;i++) {
        if (cntct[i].checked)
        {
            selectedValue = cntct.value;
        }
    }
    if(selectedValue == "") {
        alert("Please select contact medium");
        return false;
    }
    return true;
}

<强>更新

我刚注意到你有多个具有相同ID的元素。这是不允许的,在这种情况下,浏览器将仅返回具有该ID的最后一个元素。您需要使用相同的name迭代元素,并选择属性为checked的元素。见上面的代码

答案 2 :(得分:0)

  

我如何在复选框上放置验证?

我认为你的意思是“如何确保在提交表单时检查其中一个单选按钮”(假设有一个表格没有显示)。

简单的方法是默认选中一个复选框,然后您就会知道将始终选中一个复选框,而您无需检查,例如

<input type="radio" name="contact" value="CALL" checked>
<input type="radio" name="contact" value="EMAIL">

另一种方法是在提交表单时(或者您决定进行验证的任何事件)循环显示单选按钮,并确保选中一个。例如

function checkButton() {
  var nodes = document.getElementsByName('contact');
  for (var i=0, iLen=nodes.length; i<iLen; i++) {

    // If find a checked one, job's done
    if (nodes[i].checked) return true;
  }

  // Otherwise, none were checked
  return false;
}

有一个带有联系人姓名的输入类型文本,但它没有已检查的属性,因此将被视为未经检查的无线电。

答案 3 :(得分:0)

请试试这个:

<script>
function SubmitIt()
{
    if (document.forms.myform.elements.contact.value == "") 
    {
        alert("Please select contact medium..."); 
    }
}
</script>

<form name="myform" id="myform">
   <input type="radio" name="contact" id="contact" value="SMS">
   <label>SMS</label> <input type="radio" name="contact" id="contact" value="CALL">
   <label>CALL</label> <input type="radio" name="contact" id="contact" value="EMAIL">
   <label>EMAIL</label>

   <button onclick="SubmitIt();">Submit</button>
</form>