javascript - 如何使用 JQuery 多次更改禁用标签

标签 javascript jquery html

我正在尝试使用 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/

相关文章:

javascript - React/Redux/CSS - 模态放置

javascript - 点击导出 HTML 表格

javascript - 将 HTML 表单中的拆分值求和,用作 Google 散点图的数据

javascript - 检测输入类型文本的编程更改

javascript - Html-Select-Tag-如何在不使用 eval() 的情况下将字符串值转换为 javascript?

javascript - 如何对一组数字求和,使数组的总和为 100

javascript - 如何汇总 .each 循环的结果?各个 list 卡的 list 板总数

jquery - 未捕获的类型错误 : Cannot read property 'nodeName' of undefined

javascript - Jquery 问题 : click icon > display block > always on top

javascript - 在 HTML 超链接标记的 onClick 中调用 JavaScript 函数 ping() 导致 TypeError