Текст ограничения JQuery в поле ввода
Я хочу ограничить количество символов в текстовом поле ввода.
Код, который я использую:
function limitText(field, maxChar){
if ($(field).val().length > maxChar){
$(field).val($(field).val().substr(0, maxChar));
}
}
Событие включено.
Когда я набираю текст в поле ввода, курсор остается в конце текста, но фокус поддерживается при запуске текста, поэтому я не вижу курсора.
Что может быть проблемой.
Браузер FF, на IE и хром он работает правильно
Ответы
Ответ 1
вы также можете сделать это следующим образом:
<input type="text" name="usrname" maxlength="10" />
чтобы добиться этого с помощью jQuery, вы можете сделать это:
function limitText(field, maxChar){
$(field).attr('maxlength',maxChar);
}
Ответ 2
Ваш код работает в 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);
});
}
}
Демо