Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单选按钮显示值即使没有选中任何按钮如何验证?_Php_Html_Forms_Radio - Fatal编程技术网

Php 单选按钮显示值即使没有选中任何按钮如何验证?

Php 单选按钮显示值即使没有选中任何按钮如何验证?,php,html,forms,radio,Php,Html,Forms,Radio,我有一张登记表,上面有性别选择,显示男性或女性。在HTML中,没有一个被选中,因为我希望用户选中一个。像这样: <label class="radio"> <input type="radio" name="gender" id="optionsRadios1" value="female">Female </label> <label class="radio"> <input type="radio" name="gend

我有一张登记表,上面有性别选择,显示男性或女性。在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>
我通过jQueryAjax提交数据。奇怪的是,al输入的post显示

[性别]=>如果您提交的表单中未选中任何两个选项,则为男性

那么,如果它从不为空,我如何验证它呢


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

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

<input type="radio" name="gender" id="optionsRadios1" value="female" checked> Female
以下代码将在客户端验证您的表单 此验证仅允许在选择某一性别时提交表单。如果没有提交任何单选按钮,那么它将显示一条警告消息,并停止表单重定向到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>

问题显然出在您的ajax代码中,而不是上面的HTML。这是真的,但不是我想要的。因为我想强制用户选择一个性别,所以如果没有选择,我想返回一条错误消息…你能写下你自己的onclick函数并在那里进行检查吗?参见示例代码。是。。jquey不可能吗。。但问题是。。是否没有其他方法可以删除javascript?如果用户没有选择任何内容。。仍然会发布错误的var。。我正在搜索一种方法来发布空的帖子,这样我就可以看到用户没有选择一个选项,就像在www.facebook.com上一样。是的,您可以在服务器端和客户端验证代码。您可以在客户端使用javascript/jquery进行验证,在服务器端使用php或其他服务器端脚本语言进行验证。要用jquery验证上述代码,只需将maleObj.checked或feObj.checked替换为$optionsRadios2.attr'checked'。为了检查是否没有从无线电选项中选择任何内容,您必须验证整个表单。我已经为您编辑了答案。我想这就是你要找的。
<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>