我有2个单选按钮。我需要使用JavaScript对单选按钮进行验证。请告诉我我的代码有什么问题。这是代码。

$(function() {
    $("#XISubmit").click(function(){

        var XIGender= document.forms["XIForm"]["XIGender"].value;
        if (XIGender==null || XIGender=="") {
             alert("Please select the gender");
             return false;
        }
        document.getElementById("XIForm").submit();
    });


这是我的HTML代码:

<label>Gender </label> &nbsp&nbsp
<input type='radio' name='XIGender' value='Male' id="XImale"/>Male
<input type='radio' name='XIGender' value='Female' id="XIfemale"/>Female</td>

最佳答案

您无法像这样获得单选按钮的值。 document.forms["XIForm"]["XIGender"]将返回多个节点,并且您无法获得节点列表的value属性。由于您使用的是jQuery,因此可以更轻松地完成此操作:

$("#XISubmit").click(function () {
    var $XIForm = $('form[name=XIForm]');
    var XIGender = $XIForm.find('input[name=XIGender]:checked').val();
    if (XIGender == null || XIGender == "") {
        alert("Please select the gender");
        return false;
    }
    $XIForm.submit();
});


JSFiddle

07-24 17:17