javascript - 表单验证不适用于 <select>

标签 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 中找到。 .

最佳答案

您的选择选择器错误

替换这个

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

这样:

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

<强> Working Demo

关于javascript - 表单验证不适用于 <select>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598236/

相关文章:

javascript - 如何在表单中设置内容类型?

javascript - 如何定义同名的函数和对象?

javascript - 如何使用正则表达式获取两个特定字符串之间的字符串?

javascript - 未捕获的类型错误 : Cannot call method 'addEventListener' of undefined

javascript - 无法将数组数据加载到 Html

jquery - 使用 "overflow: scroll"时,翻页卡背面的内容在 Chrome 中显示在前面,而不是其他浏览器

javascript - 自定义上传按钮适用于桌面但不适用于移动设备

javascript - 单击按钮时平滑滚动

javascript - 另一种写法?

javascript - 如何从html标签中获取数据