1

Topic: Как ограничить ввод символов в textarea html

Для элементов input доступно такое свойство, как maxlength, которое позволяет ограничить количество вводимых в эти поля символов. Однако для textarea такой атрибут не существует...

Как ограничить вывод символов в html?

и поэтому для ограничения ввода можно использовать JavaScript

<script type="text/javascript">
function isNotMax(e){
    e = e || window.event;
    var target = e.target || e.srcElement;
    var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode)

    switch (code){
        case 13:
        case 8:
        case 9:
        case 46:
        case 37:
        case 38:
        case 39:
        case 40:
        return true;
    }
    return target.value.length <= target.getAttribute('maxlength');
}
</script>

2

Re: Как ограничить ввод символов в textarea html

Функция возвращает true или false в обработчик событий onkeypress. Поэтому, если длина строки превысит число, указанное в maxlength, то функция вернет false, тем самым предотвратив действие по-умолчанию (ввод символа).

Вышеприведенный код имеет один существенный недостаток - как только количество символов в поле достигнет предела, блокироваться будут все символы, в том числе и Enter и Backspace и т.д. Следовательно исправить введенный текст будет невозможно. Для того, чтобы исправить это, добавим код который будет определять нажатую клавишу.

<textarea rows="5" cols="45" maxlength="100"
    onkeypress="return isNotMax(event)">
</textarea>