表单验证不适用于<select> s </select>

时间:2013-07-11 16:02:47

标签: javascript jquery

我有JavaScript代码,用于检查表单中的所有字段是否都已填充,如果没有,则会使用jquery弹出引导程序警报。这适用于文本输入,但是当检查选择时,它总是触发错误,即使填充了一个选项。

JavaScript代码:

$(document).ready(function () {
    $('form[name="register"]').on("submit", function (e) {
        var username = $(this).find('input[name="username"]');
        var preferredClass = $(this).find('input[name="preferredClass"]');

        if ($.trim(username.val()) === "" || ($.trim(preferredClass.val())) === "") {
            e.preventDefault();
            $("#formAlert").slideDown(400);
        } else {
            $("#formAlert").slideUp(400, function () {});
        }
    });

    $(".alert").find(".close").on("click", function (e) {
        e.stopPropagation();
        e.preventDefault()
        $(this).closest(".alert").slideUp(400);
    });
});

可以在此JSFiddle中找到整个代码和(种类)工作示例。

2 个答案:

答案 0 :(得分:1)

select

的选择器错误

替换此

var preferredClass = $(this).find('input[name="preferredClass"]');

有了这个:

var preferredClass = $(this).find('select[name="preferredClass"]');

<强> Working Demo

答案 1 :(得分:0)

您的选择元素选择器错误。

尝试更改选择器语句:

$(this).find('select[name="preferredClass"]');

然后你的验证就可以了。

希望这对你有所帮助。