当前我在输入字段上使用keydown事件来验证30个字符的限制。当用户输入第31个字符时,验证消息出现“请输入30个字符”。但是,当我通过简单地双击文本框并按任何字母/数字来选择整个文本,然后文本不会删除,并显示消息“请输入30个字符”。我想在用户按字母/数字时删除整个文本。目前我正在使用:将输入值还原为最后一个有效字符串
$('#inputBox').live("keydown", function(event) {
var inputLength = $(this).val().length;
var boolPassValidation = false;
if (event.keyCode === 8) {
boolPassValidation = true;
}
if (inputLength >= 30 && !boolPassValidation) {
alert("Please enter a valid PO number, 30 characters max.");
}
return false;
} else return true;
});
任何建议将是很大的帮助。
Reaso n:这是因为您在该处理程序中返回false,使jQuery停止按键的默认行为(插入键)。您的验证器被执行,但未插入字符。 –