如果字段由jQuery清空,则禁用发送按钮

Léo*_* 준영 7 jquery button

如果有一个或多个输入字段为空,如何禁用发送按钮?

我在伪代码中的尝试

if ( $("input:empty") ) {
    $("input:disabled") 
}
else 
  // enable the ask_question -button
Run Code Online (Sandbox Code Playgroud)

我一直在阅读这些文章而没有找到正确的解决方案

  1. 关于空的官方文档:这是不相关的,因为它查找所有输入字段
  2. 一个关于jQuery中禁用的特征的线程:这似乎是相关的
  3. 能够测试jQuery Firefox /终端:获得测试环境对我最有帮助

我现在使用以下代码.它包含一个关于角色的错误;,但我找不到它.

#1

$(document).ready(function(){
    $("#ask_form").validate(){
        rules: {
            username {
                required: true,
                minlenghth: 2
            },
            email: {
                required: true;
                minlength: 6
            },
            password {
                required: true,                                                                                                                                    
                minlength: 6
            }
        } 
    });
}
Run Code Online (Sandbox Code Playgroud)

#2 Meder的代码

我轻轻地修改了Meder的代码.它会send永久禁用-button,因此它也有一个bug.

$(document).ready(function(){
    var inputs = $('input', '#ask_form'), empty = false;
    // can also use :input but it will grab textarea/select elements and you need to check for those..

    inputs.each(function() {
        if ( $(this).val() == '' ) {
            empty = true;
            return;
        }
    });

    if ( empty ) {
        $('.ask_question').attr('disabled', 'disabled'); // or true I believe.
    }
});
Run Code Online (Sandbox Code Playgroud)

Jas*_*son 10

var $submit = $("input[type=submit]");
if ( $("input:empty").length > 0 ) {
   $submit.attr("disabled","disabled");
} else {
   $submit.removeAttr("disabled");
}
Run Code Online (Sandbox Code Playgroud)

  • 只需确保将其置于onChange事件或类似事件中,以便每次更改字段时触发. (2认同)