javascript性别验证

javascript性别验证,javascript,validation,registration,Javascript,Validation,Registration,我正在尝试对注册表进行验证,但在javascript中使用单选按钮进行性别验证时遇到了问题。。 我希望任何人都能帮助我解决这个问题:D 这是我的密码 function validate(form) { var genderM=form.gender_male.value; var genderF=form.gender_female.value; if(genderM.checked==false && genderF.checked==false )

我正在尝试对注册表进行验证,但在javascript中使用单选按钮进行性别验证时遇到了问题。。 我希望任何人都能帮助我解决这个问题:D

这是我的密码

function validate(form)
{
    var genderM=form.gender_male.value;
    var genderF=form.gender_female.value;

    if(genderM.checked==false && genderF.checked==false )
       {
            alert("You must select male or female");
            return false;
       }   
 }

你打错了。你在第二次作业中使用了两次genderM而不是genderF

   function validate(form)
    {
        var genderM=form.gender_male.value;
        var genderF=form.gender_female.value; //error here

        if(genderM.checked==false && genderF.checked==false )
           {
                alert("You must select male or female");
                return false;
           }   
     }

你可以这样做:

HTML:


男性
女性
JavaScript:

<script>
    function validate(form) {
        var gender = form.querySelectorAll('input[name="gender"]:checked');
        if (!gender.length) {
            alert('You must select male or female');
            return false;
        }
    }
</script>

函数验证(表单){
var gender=form.querySelectorAll('input[name=“gender”]:checked');
如果(!性别.长度){
警报(“您必须选择男性或女性”);
返回false;
}
}

希望这有帮助


编辑:我编辑了脚本,因此表单现在作为参数在脚本中传递。

您还需要删除.value的

function validate(form)
{
    var genderM=form.gender_male;
    var genderF=form.gender_female;

    if(genderM.checked==false && genderF.checked==false ) {
        alert("You must select male or female");
        return false;
    }   
}

如果没有看到相关的HTML和相关的事件分配,那么您可能希望执行类似于此示例的操作

HTML


上,您可能还应该在这个现代世界中提供一个“其他”选项:)如果不显示相关的HTML和事件分配,很难说出示例代码的所有问题。显示您的简化问题也会有帮助。是的,我已经解决了这个问题,但仍然不起作用:(((form.gender[0]。checked==false)和&(form.gender[1]。checked==faslse)){alert(“plese select-gender”);谢谢您的脚本解决了我的问题,我尝试删除.value及其工作
function validate(form)
{
    var genderM=form.gender_male;
    var genderF=form.gender_female;

    if(genderM.checked==false && genderF.checked==false ) {
        alert("You must select male or female");
        return false;
    }   
}
<form id="test">
    <label for="gender">Gender:</label>
    <input type="radio" name="gender" value="0">Male</input>
    <input type="radio" name="gender" value="1">Female</input>
    <input type="submit" value="Submit">
</form>
function validate(form) {
    var isChecked = Array.prototype.some.call(form.querySelectorAll('input[name=gender]'), function (radio) {
        return radio.checked;
    });

    if (!isChecked) {
        alert("You must select Male or Female");
    }

    return isChecked;
}

document.getElementById('test').addEventListener('submit', function (evt) {
    if (!validate(evt.target)) {
        evt.preventDefault();
    }
});