我创建一个输入,它只支持数字,maxlength只有3位数。当我输入超过3位数字时,我希望它立即提醒,无需按任何按钮。如何在jQuery中做到这一点?
HTML
<input type="text" name="txtprice" id="txtprice" class="input-xlarge" maxlength="3" required /> <span id="errmsg"></span>
的Javascript
$(document).ready(function () {
//called when key is pressed in textbox
$("#txtprice").keypress(function (e) {
//if the letter is not digit then display error and don't type anything
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
//display error message
$("#errmsg").html("Must input numbers").show().fadeOut("slow").css("color","red");
return false;
}
});
});
答案 0 :(得分:2)
你的要求不是真的...有效,如果你设置了最大长度并且一旦超过这个限制就想要一个警报..那不应该发生。
试试这个小提琴:http://jsfiddle.net/0d20e24n/
$( "#myinput1" ).on('input', function() {
if ($(this).val().length>3) {
alert('you have reached a limit of 3');
}
});
$( "#myinput2" ).on('input', function() {
if ($(this).val().length>=3) {
alert('you have reached a limit of 3');
}
});
第一个应该永远不会发出警报,第二个只会在您输入3个字符时才会发出警告吗?