O Textarea é chamado de campo de texto, também conhecido como área de texto, que é um controle de entrada de texto com várias linhas com barras de rolagem, que é frequentemente usada nos formulários de envio da página da web. Ao contrário de um controle de texto da caixa de texto de linha única, ele não pode limitar o número de palavras através da propriedade MaxLength e, para esse fim, outros métodos devem ser procurados para limitá-las para atender aos requisitos predefinidos.
A prática usual é usar a linguagem #Script para implementar limites de entrada de palavras nos campos de texto da textarea, o que é simples e prático. Suponha que tenhamos uma área de texto textarea com ID TXTA1, podemos limitar o número de palavras entradas em seu teclado a 10 caracteres (caracteres chineses ou outros caracteres de canto pequeno):
<script idioma = "#" type = "text/ecmascript"> window.onload = function () {document.getElementById ('txta1'). onKeydown = function () {if (this.value.length> = 10) event.returnValue = false; }} </script>Seu princípio é monitorar a área de texto do número de identificação especificado, monitorando o evento KeyDown. Pode -se imaginar que ele só pode limitar a entrada do teclado. Se o usuário colar o texto na área de transferência clicando com o botão direito do mouse, ele não poderá controlar o número de palavras.
Através da entrada do teclado, apenas 10 palavras podem ser inseridas na área de texto acima. No entanto, nosso objetivo não foi alcançado! Copie algum texto casualmente e tente colá -lo com o botão certo do mouse para ver o que está acontecendo.
Você pode encontrar outros scripts JS, como os acima mencionados acima na Internet. Não importa o quão excelentes eles sejam, seus princípios são iguais. Monitorando a entrada da área de texto, operando as teclas do teclado, como keydown, keyup ou keypress, não podem impedir que o clique com o botão direito do mouse de colar. Por esse motivo, se deveríamos limitar o número de palavras na textarea, precisamos adicionar outro bloqueio à página da web - desative o clique com o botão direito, o que, sem dúvida, requer despesas gerais adicionais, e também pode ser algo que os fabricantes de páginas da web podem não estar dispostos a fazer. Na verdade, existe uma maneira mais fácil de usar a propriedade OnPropertyChange.
OnPropertyChange pode ser usado para julgar o valor de um elemento predeterminado. Quando o valor do elemento mudar, o evento de julgamento será acionado. Ele se importa apenas com o valor do elemento monitorado e evita a fonte da entrada, para que possamos alcançar o objetivo de limitar o número de palavras de uma maneira relativamente ideal. Pertence à categoria JS e pode ser usado em representantes de área de caixa de formulários aninhados. A seguir, são apresentados os estilos de código e efeito. Você pode testar a entrada como o acima. Você descobrirá que ele realmente atinge seu objetivo: não importa qual método você insira, ele só pode inserir 100 caracteres (caracteres chineses ou outros pequenos símbolos de solução):
Código:
<textAea onPropertyChange = "if (value.length> 100) value = value.substr (0,100)" cols = "60" name = "txta" linhas = "8"> </sexttarea>
Obviamente, para ser mais seguro, o programa de script em segundo plano que processa os dados do formulário também deve verificar os dados enviados novamente. Se o número de palavras exceder o número predefinido, ele será processado de acordo, de modo a alcançar o objetivo de realmente limitar o número de palavras. (sobre)
Outro método para implementar o Textarea para limitar o número de palavras de entrada (incluindo chinês, apenas 10 podem ser inseridas e todos os códigos ASCII podem ser inseridos)
<Cript> 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> <texttarea maxlength = "10" id = "t1" onkeyup = "check ();"> </sexttarea>Há outra maneira:
função textCounter (campo, maxlimit) {if (field.value.length> maxlimit) {field.value = field.value.substring (0, maxlimit); } else {document.upbook.remlen.value = maxlimit - field.value.length; }}<texttarea nome = palavras cols = 19 linhas = 5 class = input1 onPropertyChange = "textCounter (upBook.words, 50)"> textarea> número de palavras restantes: <nome de entrada = Remlen Type = REAGE ID = "REMLEN" Style = "Background Color: #D4D0C8; Border: 0; Color: Red: Red" MAUTAL = "Background Color: #d4d0c8; borda: 0; cor: Red" "major) = 50, majorl = 50sl) = REDON) MAUTON = 50 REDON = 50)
function limitomTarea (campo) {maxlimit = 200; if (field.value.length> maxlimit) field.value = field.value.substring (0, maxlimit);}<texttarea cols = 50 linhas = 10 name = "comentário" id = "comentarea" onkeydown = "limitToLtarea (this)" onkeyup = "limitToLtarea (this)" onkeypress = "limitToLtarea (this)"> </xexttarea>
title = "A largura da textarea deve menos de 300 caracteres". Ele solicita inserir o número máximo de bytes na textarea.
Por exemplo:
<texttarea cols = 50 linhas = 10 name = "comentário" id = "comentarea" onkeydown = "limitToLtarea (this)" onkeyup = "limitToLtarea (this)" onkeypress = "limitToLtarea (this)"> </xexttarea>