CSS / jQuery - ограничение количества символов для всех динамически генерируемых текстовых полей. - PullRequest
3 голосов
/ 09 ноября 2011

Я использую jEditable для встроенного редактирования, поэтому, когда пользователь дважды щелкает текст, он превращается в текстовое поле.

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

 <input type="text" name="name" maxlength="100" />

Есть идеи, как мне оформить все текстовые поля в css, чтобы пользователь не мог ввести более 30 символов?

Большое спасибо ...

Ответы [ 2 ]

3 голосов
/ 09 ноября 2011

Я немного растерялся.Если вы уже используете jQuery, есть ли причина не использовать его для ограничения длины?

http://jsfiddle.net/rkw79/TvDvd/2/

$('body').delegate('input[type="text"]','focus', function() {
    $(this).attr('maxLength',100);
});

Также ограничивайте текстовые области, только если jEditable использует это:http://jsfiddle.net/rkw79/TvDvd/3/

$('body').delegate('input[type="text"], textarea','focus', function() {
    $(this).attr('maxLength',100);
});
1 голос
/ 09 ноября 2011

Вам придется сделать что-то подобное:

$('input').attr('maxLength','25').keypress(maxLength);

function maxLength(e) {
    if(window.event) // IE
    {
        keynum = e.keyCode
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which
    }


    if (keynum  == 8) { return true; }
        return this.value.length < $(this).attr("maxLength");
}
...