2012-09-13 172 views
13

我想限制输入文本字段中的字符数。我使用Jquery限制输入框中的文本

代码:

function limitText(field, maxChar){ 
    if ($(field).val().length > maxChar){ 
     $(field).val($(field).val().substr(0, maxChar)); 
    } 
} 

事件的onkeyup。 当我在输入字段中键入一些文本时,光标停留在文本的末尾,但焦点回退到文本的开始位置,所以我看不到光标。

什么是问题。

浏览器是FF,在IE和铬它工作正常

回答

29

你也可以做这样的:

<input type="text" name="usrname" maxlength="10" /> 

与jQuery来实现这一点,你可以这样做:

function limitText(field, maxChar){ 
    $(field).attr('maxlength',maxChar); 
} 
+0

这很简单,但非常有效。谢谢 – sisko

5

您的代码在FF中工作。你的代码的下面是略加修改的版本:

$('input.testinput').on('keyup', function() { 
    limitText(this, 10) 
}); 

function limitText(field, maxChar){ 
    var ref = $(field), 
     val = ref.val(); 
    if (val.length >= maxChar){ 
     ref.val(function() { 
      console.log(val.substr(0, maxChar)) 
      return val.substr(0, maxChar);  
     }); 
    } 
} 

Demo

相关问题