如果用户名文本框字段为空,我试图禁用提交按钮。
$("#txtUserName").bind("input propertychange change keyup paste", setButtonState);
var setButtonState = function () {
if ($("#txtUserName").val().trim() == "") {
$("#login").attr("disabled", true);
}
else {
$("#login").removeAttr("disabled");
}
}
上述代码在所有情况下都能正常工作,但用户选择之前保存的用户名(自动完成)时除外。 我无法为文本框设置自动完成关闭选项。
当用户在自动完成用户名中选择文本时,如何捕获事件?
答案 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来演示它。