Ответ 1
Попробуйте следующее:
var $input = $('input')
$input.keyup(function(e) {
var max = 5;
if ($input.val().length > max) {
$input.val($input.val().substr(0, max));
}
});
jsFiddle здесь: http://jsfiddle.net/fttk2/1/
У меня есть текстовый ввод с максимальной длиной:
<input type="text" name="name" maxlength="50">
Это отлично работает во всех браузерах для настольных компьютеров, которые я пробовал, но максимальная длина не работает в мобильных браузерах.
Есть ли способ заставить мобильные браузеры применять maxlength
? Я открыт для использования JavaScript и/или jQuery в решении.
Попробуйте следующее:
var $input = $('input')
$input.keyup(function(e) {
var max = 5;
if ($input.val().length > max) {
$input.val($input.val().substr(0, max));
}
});
jsFiddle здесь: http://jsfiddle.net/fttk2/1/
var max = 1
input.addEventListener('keyup', function (event) {
event.target.value = event.target.value.substring(0, max)
})
Универсальный способ jQuery для принудительного применения указанного maxlength
поля формы. (Мне это нужно для sessionStorage, localStorage и param suprides.) Код оптимизирован для удобства чтения.
$('input').on('change', function () {
var max = $(this).attr('maxlength'),
val = $(this).val(),
trimmed;
if (max && val) {
trimmed = val.substr(0, max);
$(this).val(trimmed);
}
});
var maxLength = 10;
var field = $('#myinput');
field.keydown( function(e)
{
if ( $(this).val().length >= maxLength ) e.preventDefault();
});
Я бы предложил нечто более простое. Профили не работали для меня, если не было места, добавленного для поля, чтобы забрать его... или если я сразу же попал в submit, он все равно передал информацию.
if($(".input") > 20){$(".input") = input.slice(0,20)};