如果用户名字段为空,则jQuery禁用登录提交按钮

时间:2014-12-01 10:09:27

标签: javascript jquery jquery-ui

如果用户名文本框字段为空,我试图禁用提交按钮。

$("#txtUserName").bind("input propertychange change keyup  paste", setButtonState);
var setButtonState = function () {
    if ($("#txtUserName").val().trim() == "") {
        $("#login").attr("disabled", true);
    }
    else {
        $("#login").removeAttr("disabled");
    }
}

上述代码在所有情况下都能正常工作,但用户选择之前保存的用户名(自动完成)时除外。 我无法为文本框设置自动完成关闭选项。

当用户在自动完成用户名中选择文本时,如何捕获事件?

1 个答案:

答案 0 :(得分:1)

只需将输入字段绑定到附加事件select,当用户从自动完成中选择某些内容时会触发该事件。

这将是您的代码。我刚刚添加了select并重新安排了您的代码。此外,我在domready上运行setButtonState()一次,以确保它已被禁用。

var setButtonState = function () {
    if ($("#txtUserName").val().trim() == "") {
        $("#login").attr("disabled", true);
    }
    else {
        $("#login").removeAttr("disabled");
    }
}
$("#txtUserName").bind("input propertychange change keyup paste select", setButtonState);
setButtonState();

我还更新了jsfiddle来演示它。

相关问题