阻止用户输入最大值的输入

Ant*_*ony 10 javascript jquery

如果值超过100,我希望阻止用户输入更多内容.到目前为止,我在阅读不同帖子时有以下内容:

$('.equipCatValidation').keyup(function(e){
        if ($(this).val() > 100) {               
           e.preventDefault();                
        }
    });
Run Code Online (Sandbox Code Playgroud)

要确认我希望值不是字符串长度,并且它不能超过100.

然而,这并不妨碍该领域的进一步投入.我错过了什么

解决方案:http://jsfiddle.net/9TP3e/

Pop*_*les 27

检查keyup为时已晚,添加角色的事件已经发生.你需要使用keydown.但是你也想确保值不超过100,所以你也需要使用keyup来允许js检查值.

您还必须允许人们删除该值,否则,一旦超过100,就不能更改任何内容.

<input class="equipCatValidation" type="number" />
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/EBs33/1/


Ash*_*nto 5

基本上,在接受当前值之前会触发按键事件。因此,当您按任意键时,将预订按键事件,但不会获得最近按键的更新值/结果。因此,要获得最后按下的键,我们可以使用fromCharCode方法并将其与我们从文本框中获取的值连接起来。而已,

HTML:

<input id="inputBox" type="text" />
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("#inputBox").on("keypress", function(e){
    var currentValue = String.fromCharCode(e.which);
    var finalValue = $(this).val() + currentValue;
    if(finalValue > 100){
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle