2012-09-13 25 views
13

Giriş metni alanındaki karakter sayısını sınırlamak istiyorum. Ben kullanıyorumJQuery sınırlama metni giriş kutusunda

Kodu:

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

Olay onkeyup olduğunu. Girdi alanında bir metin yazdığımda imleç metnin sonunda kalır, ancak metnin başlangıcında odaklanır, böylece imleci göremiyorum.

Sorun ne olabilir?

Tarayıcı IE, FF ve krom doğru

cevap

29

da böyle yapabilir çalışıyor:

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

jQuery ile bunu başarmak için, bunu yapabilirsiniz:

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

Bu basit ama çok etkili oldu. teşekkür ederim – sisko

5

Kodunuz FF içinde çalışıyor. kodunuzun Burada biraz değiştirilmiş olan versiyon:

$('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

İlgili konular