0

我有一个注册表,其中有一个显示男性或女性的性别无线电选项。在 HTML 中没有检查,因为我希望用户检查一个。像这样:

<label class="radio">
    <input type="radio" name="gender" id="optionsRadios1" value="female">Female
</label>
<label class="radio">
    <input type="radio" name="gender" id="optionsRadios2" value="male">Male
</label>

我通过 jquery ajax 提交数据。奇怪的是,al 输入的帖子显示

[性别] => 男性,如果您提交表单时未选中 2 个选项

那么,如果它从不空发布,我该如何验证呢?

*如果未选择任何选项,我想返回错误,因此它会强制用户选择正确的性别..

4

2 回答 2

0

以下代码将在客户端验证您的表单 此验证仅在选择其中一种性别时才允许提交表单。如果没有提交任何单选按钮,那么它将显示一条警告消息并阻止表单重定向到 action.php。

<form name='whatever' onsubmit='return validate();' method='POST' action='action.php'>
    <label class="radio">
    <input type="radio" name="gender" id="optionsRadios1" onchange='validate()' value="female"> Female
    </label>
    <label class="radio">
    <input type="radio" name="gender" id="optionsRadios2" onchange='validate()' value="male"> Male
    </label>
    <input type='submit' value='submit'>
</form>

<script type='text/javascript'>
    function validate(){
    var feObj=document.getElementById("optionsRadios1");
    var maleObj=document.getElementById("optionsRadios2");
    if (feObj.checked){
        return true;
    }
    if (maleObj.checked){
        return true;
    }
    alert ("Please select a gender");
    return false;
    }   
</script>
于 2013-08-15T22:29:50.587 回答
0

一种真正快速的方法是默认在 UI 中进行选择。这可确保该值不为空,因为您不能“取消选中”单选按钮。

<input type="radio" name="gender" id="optionsRadios1" value="female" checked> Female

编辑:
编写自己的提交函数,并将其绑定到提交按钮的 onclick()

function submit() {
  if (!$("#optionsRadios1").prop("checked") && !$("#optionsRadios2").prop("checked")) {
    alert("please select a gender");
  }
  else {
    //Whatever you do to submit
  }
}
于 2013-08-15T22:26:46.730 回答