2012-09-13 220 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

相關問題