Javascript 如何在文本框、选择和日期为空时禁用提交按钮,并在完成时启用

Javascript 如何在文本框、选择和日期为空时禁用提交按钮,并在完成时启用,javascript,jquery,css,html,forms,Javascript,Jquery,Css,Html,Forms,我见过很多人在文本框为空的情况下禁用按钮的例子,但我没有发现任何人会在某些文本框、日期和选择字段中禁用按钮。我是Jquery新手,我知道它是伪代码的,但你可以理解。我必须调用哪个Jquery函数,以便它不断地进行检查?如何在if子句中使用or语句来确定任何文本框字段是否为空 HTML 用户名 密码 确认密码 电子邮件 生日 性别 男性 女性的 Javascript <script type="text/javascript> (function() { $('#

我见过很多人在文本框为空的情况下禁用按钮的例子,但我没有发现任何人会在某些文本框、日期和选择字段中禁用按钮。我是Jquery新手,我知道它是伪代码的,但你可以理解。我必须调用哪个Jquery函数,以便它不断地进行检查?如何在if子句中使用or语句来确定任何文本框字段是否为空

HTML


用户名

密码

确认密码

电子邮件

生日

性别
男性 女性的
Javascript

<script type="text/javascript>
(function() {
    $('#myform > input').keyup(function() {

        var empty = false;
        $('form > input #bday').each(function() {
            if ($(this).val() == '') {
                empty = true;
            }
        });

        if (empty) {
            $('#register').attr('disabled', 'disabled');
        } else {
            $('#register').removeAttr('disabled');
        }
    });
})()
</script>
您可以在('input')上使用
并稍微更改选择器:

$('#myform > input').on('input', function () {

    var empty = false;
    // Don't use an ID here
    $('form > input, form > select').each(function () {
        if ($(this).val() == '') {
            empty = true;
        }
    });

    if (empty) {
        $('#register').attr('disabled', 'disabled');
    } else {
        $('#register').removeAttr('disabled');
    }
});

您在生日字段上有您的支票,由于日期输入,该字段总是被填写

因此,请确保检查其他字段,如:

   $('form > input.cant_be_empty').each(function() {
        if ($(this).val() == '') {
            empty = true;
        }
   });
并将cant_be_empty类添加到所有不能为空的元素中


我已经更新了你的小提琴。基本上,我已经在您需要的字段上添加了一个required属性。例如,如果您只需要用户名,请添加:

 <input type="text" id="user_input" name="username" required="true" />
另一方面,为什么不试试这个jQuery验证插件呢。
您可以选择哪些字段是必需的,并在提交表单之前验证用户输入(例如验证电子邮件地址)。

您想检查哪个字段是否为空?您看过HTML5表单验证吗?检查是否可用于浏览器
 <input type="text" id="user_input" name="username" required="true" />
(function() {
$('#myform > input').keyup(function() {
    var empty = false;
    $('form > input[required="true"]').each(function(i, ele) {
        if ($(ele).val() == '') {
            empty = true;
        }
    });

    if (empty) {
        $('#register').attr('disabled', 'disable');
    } else {
        $('#register').removeAttr('disabled');
    }
});
}())