取消禁用按钮

时间:2014-08-02 15:42:04

标签: javascript jquery html

在我的问题中,我需要你的帮助。我在弹出窗口中有textarea和按钮,并带有功能:

$(document).ready(function() {
    $('input[type="submit"]').attr('disabled', false);

    $('input[type="text"],textarea').on('keyup',function() {
        var textarea_value = $("#id_get_post_description2").val();
        var text_value = $('input[name="textField"]').val();

        if(textarea_value != '' && text_value != '')
            $('input[type="submit"]').attr('disabled' , false);
        else
            $('input[type="submit"]').attr('disabled' , true);
    });
});

我正在检查textarea中的值元素,如果0禁用按钮。

但是我有bug,当我在其他弹出窗口中调用此函数时(在我清除textarea并且有禁用按钮之前)我的按钮禁用,默认情况下。 我怎么能解决这个问题?

带阶段的屏幕截图

http://www.ex.ua/800076465918

4 个答案:

答案 0 :(得分:0)

我建议将您的值输出到console.log以验证它们是否已定义并根据您的输入返回您期望的值。

类似的东西:

console.log('textarea_value  ' + textarea_value);

然后使用浏览器调试窗口查看值

答案 1 :(得分:0)

此处查看this jsfiddle

var textarea = $('#t');
var button = $('#b');
$(document).ready(function(){
    lCheck();


    textarea.on('keyup', lCheck);
});


function lCheck(){
    if (textarea.val().length == 0) {
        button.attr('disabled', 'true');
    } else {
       button.removeAttr('disabled');
    }
} 

我所做的是检查textarea值的长度。如果它是0我添加禁用,如果它大于0我删除禁用。

答案 2 :(得分:0)

我建议您将id添加到按钮而不是选择$('input[type="submit"]'),否则如果您有两个提交按钮作为输入字段,则所有按钮都将被禁用/启用。并使用jquery的.removeAttr()

$('#button_id').removeAttr('disabled');

答案 3 :(得分:0)

jquery建议使用.prop()(自1.6起)对此类内容采取行动:http://api.jquery.com/prop/

$('input[type="submit"]').prop( "disabled", false );