Textarea называется текстовым полем, также известным как текстовая область, которая представляет собой многостроение текстового ввода управления вводом с помощью прокрутки, которые часто используются в формах представления веб-страницы. В отличие от однострочного управления текстом текста, оно не может ограничить количество слов через свойство MaxLength, и для этой цели необходимо стремиться к их ограничению, чтобы удовлетворить их для удовлетворения заданных требований.
Обычная практика состоит в том, чтобы использовать #Script Language для реализации входных пределов слова на текстовых полях Textarea, что является простым и практичным. Предположим, что у нас есть текстовая область Textarea с id txta1, мы можем ограничить количество ввода слов на его клавиатуре 10 символами (китайские символы или другие маленькие угловые символы):
<script language = "#" type = "text/ecmascript"> window.onload = function () {document.getElementById ('txtA1'). OnKeyDown = function () {if (this.value.length> = 10) event.renurnValue = false; }} </script>Его принцип состоит в том, чтобы контролировать текстовую область указанного идентификационного номера, контролируя событие Keydown. Можно представить, что он может ограничить только вход клавиатуры. Если пользователь внедряет текст в буфер обмена, щелкнув правой кнопкой мыши мышь, он не может контролировать количество слов.
Через вход клавиатуры можно ввести только 10 слов в приведенной выше текстовой области. Однако наша цель не была достигнута! Пожалуйста, скопируйте немного текста случайно и попробуйте вставить его с правильной кнопкой мыши, чтобы увидеть, что происходит.
Вы можете найти другие сценарии JS, такие как вышеупомянутые выше в Интернете. Независимо от того, насколько они превосходны, их принципы одинаковы. Мониторинг ввода текстовой области с помощью клавиш клавиатуры, таких как Keydown, Keyup или KeyPress, не может предотвратить вставку правой кнопкой мыши. По этой причине, если мы должны действительно ограничить количество слов в Textarea, мы должны добавить еще одну блокировку на веб -страницу - отключить правой кнопкой мыши, что, несомненно, требует дополнительных накладных расходов, и это также может быть чем -то, что производители веб -страниц могут не захотят сделать. На самом деле, есть более простой способ использовать свойство PropertyChange.
OnPropertyChange может использоваться для оценки значения заранее определенного элемента. Когда значение элемента изменится, событие суждения будет запускается. Он заботится только о значении контролируемого элемента и избегает источника ввода, чтобы мы могли достичь цели ограничения количества слов относительно идеальным способом. Он принадлежит к категории JS и может использоваться в вложенных представителях зоны формы. Ниже приведены стили кода и эффекта. Вы можете проверить вход, как выше. Вы обнаружите, что он действительно достигает своей цели: независимо от того, какой метод вы вводите, он может ввести только 100 символов (китайские иероглифы или другие символы небольших решений):
Код:
<textarea OnPropertyChange = "if (value.length> 100) value = value.substr (0,100)" cols = "60" name = "txta" row = "8"> </textarea>
Конечно, для того, чтобы быть более безопасным, программа фоновых скриптов, которая обрабатывает данные формы, также должна снова проверить представленные данные. Если количество слов превышает заданное число, оно будет обработано соответствующим образом, чтобы достичь цели по -настоящему ограничить количество слов. (над)
Другой метод реализации Textarea для ограничения количества входных слов (включая китайцы, можно ввести только 10, и все коды ASCII могут быть введены) могут быть введены)
<Script> function check () {var regc = /[^ -~]+ /g; var rege = // d+/g; var str = t1.value; if (regc.test (str)) {t1.value = t1.value.substr (0,10); } if (rege.test (str)) {t1.value = t1.value.substr (0,20); }} </script> <textarea maxlength = "10" id = "t1" onkeyup = "check ();"> </textarea>Есть другой способ:
Функция TextCounter (Field, maxlimit) {if (field.value.length> maxlimit) {field.value = field.value.substring (0, maxlimit); } else {document.upbook.remlen.value = maxlimit - field.value.length; }}<TextARea name = слова cols = 19 Rows = 5 Class = input1 OnProperTyChange = "TextCounter (Upbook.Words, 50)"> TextARea> Несколько оставшихся слов.
Function LimitTextArea (Field) {maxLimit = 200; if (field.value.length> maxlimit) field.value = field.value.substring (0, maxlimit);}<textarea cols = 50 Rows = 10 name = "comment" id = "commentharea" onkeydown = "LimitTextArea (this)" onkeyup = "LimitTextArea (this)" onkeyPress = "LimitTextArea (this)"> </textarea>
title = «Ширина Textarea должна менее 300 символов». Он предлагает ввести максимальное количество байтов в Textarea.
Например:
<textarea cols = 50 Rows = 10 name = "comment" id = "commentharea" onkeydown = "LimitTextArea (this)" onkeyup = "LimitTextArea (this)" onkeyPress = "LimitTextArea (this)"> </textarea>