Как определить, происходит ли событие keydown для печатного символа? - PullRequest
4 голосов
/ 09 февраля 2009

Мы пытаемся запретить пользователям печатать за пределами максимально допустимого количества символов, которые наша БД допускает для полей текстовой области в нашем веб-приложении. Как только они достигли максимальной длины, допустимой в текстовой области, мы все равно хотели бы разрешить им нажимать клавиши, которые не печатаются, например: Tab, backspace, ctrl + s и т. Д.

Мне интересно, есть ли простой способ определить, является ли код клавиши печатным символом. Я думал, что что-то вроде String.fromCharCode может сделать трюк и вернуть false, если он не может выполнить преобразование, но, похоже, не ведет себя так.

Ответы [ 2 ]

1 голос
/ 09 февраля 2009

Попробуйте это: http://www.quirksmode.org/dom/maxlength.html

Quirksmode позволяет легко реализовать атрибут maxlength в textareas, который изначально не поддерживается.

И чтобы прямо ответить на ваш вопрос:

var character = String.fromCharCode(e.charCode);

Где e - объект события keypress.

0 голосов
/ 09 февраля 2009

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

W3Schools

...