Jquery - ограничение текста при вводе текста, а не textarea - PullRequest
0 голосов
/ 24 октября 2011

Используя jquery, как я могу ограничить количество символов, которые можно ввести в текстовом поле? Не относится к текстовой области, просто к обычному текстовому полю ввода. У меня есть форма и просмотр через iPad с использованием IOS5 атрибут maxlength по некоторым причинам игнорируется. Если бы я использовал maxlength = 10, я мог бы печатать в этом поле навсегда, он не остановится на 10 символах. Так что, похоже, мне понадобится jquery для ограничения поля. Есть предложения?

Обновление

Используя пример из Maxedison и предложение Марка Б, вот код, который я придумал, который сработал:

$('#textfld','#textform').keyup(function() {

    if($(this).val().length > 20) {

        var text = $(this).val().substring(0,20);
        $(this).val(text);

    }

});

1 Ответ

4 голосов
/ 24 октября 2011

Вам необходимо привязать к событию keydown для поля и запретить ввод символа, если в этом поле уже есть 10: http://jsfiddle.net/j6tJ3/

    $('input').keydown(function(e){
        if($(this).val().length > 9 && e.which !== 8 && e.which !== 46){ //if it's too long and the key pressed isn't backspace or delete
            return false;
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...