Я нашел хороший сценарий здесь , который не дает пользователю вводить больше текста после того, как длина входной строки превышает параметр MaxLen, он имеет неоспоримое преимущество, заключающееся в том, что он остается вне лица пользователя.
Моя проблема с этим сценарием заключалась в том, что он также блокировал навигационные клавиши (стрелки, начало, конец) вместе с клавишей возврата и удалением, поэтому я слегка изменил его, иначе пользователь не мог удалить введенный текст, если он достиг предел, установленный MaxLen (это было бы забавно: P).
Javascript:
function imposeMaxLength(Event, Object, MaxLen)
{
return (Object.value.length <= MaxLen)||(Event.keyCode == 8 ||Event.keyCode==46||(Event.keyCode>=35&&Event.keyCode<=40))
}
И HTML, который идет с этим:
<textarea onkeypress="return imposeMaxLength(event, this, 110);" rows="4" cols="50">
Пользователь по-прежнему может обойти это ограничение, вставив текст в текстовую область, но это можно легко устранить внутри imposeMaxLength.