2012-09-13 16 views
13

入力テキストフィールドの文字数を制限します。私が使用している入力ボックスのJquery制限テキスト

コード:

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

イベントはonkeyupのです。 入力フィールドにテキストを入力すると、カーソルはテキストの最後にとどまりますが、カーソルが見えないようにテキストの先頭にフォーカスが戻ってきます。

問題が発生する可能性があります。

ブラウザはIE上で、FFであるとクロームそれは正しく

答えて

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

関連する問題