Javascript 除非填写了所有文本输入字段,否则禁用表单按钮

Javascript 除非填写了所有文本输入字段,否则禁用表单按钮,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个表单有多个文本输入,我不想给每个表单添加id,因为它们是从服务器端代码生成的-字段的数量可能会有所不同,等等。我只想能够禁用submit按钮,直到每个文本输入中都输入了文本 我已经完成了这一步,但只在文本输入到一个文本输入字段之前禁用按钮-我希望它保持禁用状态,直到文本输入到所有文本输入 <script> $(function () { $('#button').attr('disabled', true);

我有一个表单有多个文本输入,我不想给每个表单添加id,因为它们是从服务器端代码生成的-字段的数量可能会有所不同,等等。我只想能够禁用submit按钮,直到每个文本输入中都输入了文本

我已经完成了这一步,但只在文本输入到一个文本输入字段之前禁用按钮-我希望它保持禁用状态,直到文本输入到所有文本输入

    <script>
        $(function () {
            $('#button').attr('disabled', true);

            $('input:text').keyup(function () {
                $('#button').prop('disabled', this.value == "" ? true : false);
            })
        });
    </script>

$(函数(){
$(“#按钮”).attr('disabled',true);
$('input:text').keyup(函数(){
$(“#按钮”).prop('disabled',this.value==“”?true:false);
})
});

我还尝试了
$('input:text').each().keyup(函数(){
-但没有使按钮可点击?

keyup的回调函数现在只检查特定输入字段的值(
此.value
)。相反,这需要遍历所有需要填充的输入字段,并且只有当所有字段都有文本时,您才更改
.prop

$('input:text').keyup(function () {
    $('#button').prop('disabled', allFieldsAreFilled());
});

function allFieldsAreFilled() {
    var allFilled = true;
    // check all input text fields
    $("#yourForm input:text"]).each(function () {
        // if one of them is emptyish allFilled is no longer true
        if ($(this).val() == "") {
            allFilled = false;
        }
    });
    return allFilled;
}
试试这个:

$(函数(){
var bool=true,flag=false;
$(“#按钮”).prop('disabled',bool);//使用prop禁用按钮
$(document).keyup(function(){//侦听文档上的keyup,或者如果有,可以更改为form,或者可以尝试包含文本输入的最近的div
$('input:text')。每个(function(){//循环遍历每个文本输入
bool=$.trim(this.value)==“”?true:false;//使用布尔值更新变量bool
如果(bool)
返回标志;
});
$('#button').prop('disabled',bool);//并在此处应用布尔值以启用
});
});


可能重复的@User9876867的可能重复很高兴为您提供帮助。在最后一个文本框中输入文本并检查发生了什么?它启用了按钮。
$('#button').attr('disabled', true);
$('input:text').keyup(function () {
   var disable = false;
       $('input:text').each(function(){
            if($(this).val()==""){
                 disable = true;      
            }
       });
  $('#button').prop('disabled', disable);
});