禁用按钮直到必填字段有效。

4

我已经搜索了这个问题的答案,但仍然无法使它工作:

<script type="text/javascript"> 
$(document).ready(function (){
    validate();
    $('#contact_subject').change(validate);
});

function validate(){
    if ($('#contact_subject').val().length   >   0  {
        $('button').prop('disabled', false);
    }
    else {
       $('button').prop('disabled', true);
    }
}

</script>

我希望确保#contact_subject有数据,否则禁用按钮。

2个回答

5
我认为您的if条件语句中缺少一个括号")"。
function validate(){
    if ($('#contact_subject').val().length   >   0)  {
        $('button').prop('disabled', false);
    }
    else {
       $('button').prop('disabled', true);
    }
}

哦,通常在投票下面会出现一个勾号。可能是某些问题。不是问题。谢谢您的回复。 - Nikhil Aggarwal

2
更改事件。尝试这个:http://jsfiddle.net/e0t7qv56/1/
$("#field").keyup(function(){
    console.log($(this).val().length);
    if($(this).val().length)
        $("#btn").prop('disabled', false);
    else
        $("#btn").prop('disabled', true);
});

这也可以工作,以实时启用按钮而无需单击另一个字段以启用它。我只需要添加逗号以使其接受多个条件,对吗?例如:$(“#field,#field2,#field3”).keyup(function(){ console.log($(this).val()。length); if($(this).val()。length) $(“#btn”).prop('disabled',false); else $(“#btn”).prop('disabled',true); }); - Uriahs Victor
它不能适用于多个字段...我猜我得在那里放一个Or或其他东西。 - Uriahs Victor
谢谢你了不起的人,我会把这个投入生产。 - Uriahs Victor
请多阅读代码,不仅限于我的。我猜你至少在jQuery方面没有太多经验,你会惊讶于jQuery所能实现的一切。 - MikeVelazco
没错,我是初级开发者。我懂一些jQuery,但不是很精通。谢谢你的帮助。 - Uriahs Victor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接