1

我如何在复选框上进行验证?

这是我的代码:

<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

4 回答 4

0

很简单:if(cntct == "") {

}

cntct 变量就是值!

于 2012-10-20T12:08:48.273 回答
0

在复选框和单选按钮的情况下,当“checked”属性为真时检查元素:

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。见上面的代码

于 2012-10-20T12:09:23.887 回答
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;
}

有一个输入类型文本,其名称为联系人,但它没有选中的属性,因此将被视为未选中的收音机。

于 2012-10-20T12:26:48.250 回答
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>
于 2012-10-20T12:27:06.720 回答