密码相似时启用按钮

时间:2015-06-13 21:56:55

标签: jquery

所以我只想弄清楚如何检查我的2个密码输入是否相同。现在,我想要做的是当密码相似时,我想启用提交按钮。这就是我提出的:

$("#pass2").keyup(function() {
    setTimeout(function() {
        if ($("#pass1").val() !== $("#pass2").val()) {
            $(".nosamepass").fadeIn('slow');
            $(".password").css("border", "1px solid #ff0033");
            $('#postPass').attr('disabled', 'true');
        } else {
            $(".nosamepass").fadeOut('slow');
            $(".password").css("border", "1px solid #232323");
            $('#postPass').attr('disabled', 'false');
        }
    }, 0);
});

默认情况下,该按钮处于禁用状态。

但出于某种原因,该按钮无法启用。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

false中的enabled属性没有disabledHTML值,即没有disabled="false"

使用

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

$('#postPass').prop('disabled', false);

此外,要禁用,您需要将其设置为disabled

$('#postPass').attr('disabled', 'disabled');
$("#pass2").keyup(function() {
    setTimeout(function() {
        if ($("#pass1").val() !== $("#pass2").val()) {
            $(".nosamepass").fadeIn('slow');
            $(".password").css("border", "1px solid #ff0033");
            $('#postPass').attr('disabled', 'disabled');
        } else {
            $(".nosamepass").fadeOut('slow');
            $(".password").css("border", "1px solid #232323");
            $('#postPass').removeAttr('disabled');
        }
    }, 0);
});

答案 1 :(得分:1)

您已将false放入需要的字符串中

$('#postPass').attr('disabled', false);

也与您的true子句相同,也可以修复

$('#postPass').attr('disabled', true);

完整的工作代码将是

$("#pass2").keyup(function() {
    setTimeout(function() {
        if ($("#pass1").val() !== $("#pass2").val()) {
            $(".nosamepass").fadeIn('slow');
            $(".password").css("border", "1px solid #ff0033");
            $('#postPass').attr('disabled', true);
        } else {
            $(".nosamepass").fadeOut('slow');
            $(".password").css("border", "1px solid #232323");
            $('#postPass').attr('disabled', false);
        }
    }, 0);
});

工作jsfiddle

https://jsfiddle.net/joshstevens19/cmjf9kos/3/