当我输入更多限制长度时如何提醒?

时间:2015-03-09 10:13:25

标签: jquery alert

我创建一个输入,它只支持数字,maxlength只有3位数。当我输入超过3位数字时,我希望它立即提醒,无需按任何按钮。如何在jQuery中做到这一点?

HTML

<input type="text" name="txtprice" id="txtprice" class="input-xlarge" maxlength="3" required />&nbsp;<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; 
        }
    }); 
});

1 个答案:

答案 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个字符时才会发出警告吗?