我正在尝试使用 JQuery 来验证密码和确认密码字段对。我面临的问题是,如果我包含以下功能:
<script>
$('#password, #confirm_password').on('keyup', function () {
if ($('#password').val() == $('#confirm_password').val()) {
$('#message').html('Matching').css('color', 'green');
$("#submit").prop('disabled', false);
} else
$('#message').html('Not Matching').css('color', 'red');
});
</script>
然后,当密码匹配时,提交按钮将启用。但是,如果密码随后更改,导致它们不匹配,则提交按钮仍保持启用状态。
如果我在 else 语句中包含以下行:
$("#submit").prop('disabled',true);
那么无论密码是否匹配,提交按钮始终处于禁用状态。
有人可以解释一下我缺少什么以及如何纠正这个问题吗?
最佳答案
让你的 else 成为一个 block
$('#password, #confirm_password').on('keyup', function () {
if ($('#password').val() == $('#confirm_password').val()) {
$('#message').html('Matching').css('color', 'green');
$("#submit").prop('disabled',false);
} else {
$('#message').html('Not Matching').css('color', 'red');
$("#submit").prop('disabled',true);
}
});
如果没有大括号,则只有 else 执行消息,而禁用的始终执行。
即使您只想执行一条语句,我也建议始终使用花括号。使阅读和维护代码更加清晰。
关于javascript - 如何使用 JQuery 多次更改禁用标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52348765/