0

我看了几个地方,找不到一个有效的例子。在我的示例中,我选择了 radio 组并测试 null,因此我可以发出一条消息,告诉用户进行选择。

<script>                        
function validate(form) {   
    fail = validate__veteran(form);
    if (fail == "") { 
        return true;
        } else { 
            alert(fail);
            return false;
        }
    }
</script>
<script> 

    function validate_veteran(form) {
        var radios = document.getElementsById('veteran');
        if (radios == null) {
            return "please make a selection for veteran";
        }
        return "";
    }
</script>
<form method="post" action="checkbox.php" onSubmit="return validate(this)">
        Veteran?<**input type="radio" id="veteran"** name="veteran" value="veteran" /> yes <br>
                <input type="radio" id="veteran" name="veteran" value="" /> no <br>
<input id="submit" type="submit" name="submit" value="Signup" />                        
</form>
4

4 回答 4

2

您可以像这样获得检查状态:

var radios = document.getElementById('veteran').checked;
于 2012-11-06T07:06:03.363 回答
0
  1. 更好的是,为您的单选按钮分配两个不同的 ID,并检查使用

      document.getElementsById('ContorlID').checked   
    

或者通过你的代码 ng,使用 value 属性

  function validate_veteran(form) {
       var radios = document.getElementsById('veteran');
       if (radios.value == "" {
         return "please make a selection for veteran";
       }
    return "";
  }
于 2012-11-06T07:07:05.033 回答
0

如果你可以使用 Jquery,这可以在单行中实现

    if ($('input[name=veteran]:checked').length <1) {
      alert("please make a selection for veteran");
return false;
    }
于 2012-11-06T07:08:10.040 回答
0

将您的表格更改为:

<form method="post" name='myForm' action="checkbox.php" onSubmit="return validate(this)">

   <script>
    function validate_veteran(form) 
    var veteran="";
        for (var i=0; i < document.myForm.veteran.length; i++)
   {
   if (document.myForm.veteran[i].checked)
      {
      veteran = document.myForm.veteran[i].value;
      }
 return veteran
    }
    </script>
于 2012-11-06T07:20:15.360 回答