Maxlength no Textarea, é possível?
Não e sim. Vou explicar.
Não, pois não existe qualquer atributo HTML para a tag que delimite no número máximo de caracteres que um textarea pode ter.
Sim, pois com javascript tem como isso ser feito. Abaixo a função.
function limita(campo){
var tamanho = document.form1[campo].value.length;
var tex=document.form1[campo].value;
if (tamanho>=124) {
document.form1[campo].value=tex.substring(0,124);
}
return true;
}
Essa função conta quantos caracteres tem no textarea e não permite que enhum outro seja inserido.
Linha a linha
function limita(campo){ – Declara a função e receb uma variável com o nome do campo(textarea) em que você quer que a função atue.
var tamanho = document.form1[campo].value.length; – Declara uma variável (tamanho) e insere nela a quantidade de caracteres do textarea.
form1 – O nome do formulário, neste caso está declarado name=”form1″
[campo] – O nome do campo, textarea
value – O conteúdo
length – Quantidade de caracteres
Ou seja, o campo do formulário form1 contém x caracteres.
var tex=document.form1[campo].value – Declara a variável text e recebe o conteúdo do textarea.
if (tamanho>=124) { – Pergunta se a variável tamanho(quantidade de caracteres) é maior que 124
document.form1[campo].value=tex.substring(0,124); – Insere dentro do campo o conteúdo recebido na variável tex com a quantidade máxima de caracteres
substring – Extrai o conteúdo de uma variável, no caso tex, entre os delimitadores, ou seja, do caractere 0 até o 124
- Desabilitar o Enter em um form com Javascript
- Contagem regressiva em Javascript
- Trabalhando com querystring e Javascript
- Javascript para principiantes ou esquecidinhos. Aula 4 – Funções
- Otimizando o JS. Diminuir o uso do getElementById
9 Comentários »
Rss dos comentários TrackBack URL
Comentário por Rechones — 12/06/2009 @ 4:16 pm
Opa Garcia, sua função funcionando perfeitamente comigo, valeu a dica e obrigado pela função.
Comentário por Jeniffer — 17/12/2010 @ 4:40 pm
Oi Leandro.
Obrigada pela código, funcionou certinho.
Comentário por Elimarcos — 14/02/2011 @ 10:58 am
Oi Leandro.
O teu código está funcional, porém ele está permitindo que o último caracter seja alterado. Tipo, se o usuário digitar “A” como última letra (a menos que ele delete esta letra e digite outra) não deveria ser substituída por outra que ele digite.
Comentário por Debora — 23/02/2011 @ 2:43 pm
Oi, Leandro.
Obrigada pelo código. Funcionou para se as pessoas digitarem. Porém se pegar um texto e colcar e por algum motivo ele der algum espaço, ou se pressionar a tecla Enter, ele acaba acrescentando um e/ou alguns caracter(es).
Estou pesquisando uma forma disso não ocorrer. Quem descobrir 1º, avise.
Hahahahahaha.
Bjks
Comentário por wagner h — 24/03/2011 @ 9:06 am
Maravilha…ajudou muito mesmo.
Continue postando!!!
Pingback por Criando um aplicativo para Twitter com oAuth e PHP – Parte 1 › Aiman Jalil Sarraf — 24/04/2011 @ 12:07 am
[...] pequeno javascript que encontrei no blog do Leandro Garcia onde ele ensina a limitar os caracteres do textarea, eu adaptei e estamos limitando a 140 caracteres, assim como o update do [...]
Comentário por leandro garcia — 20/05/2011 @ 1:55 pm
Concordo com você, mas não consegui mais dar suporte a esse código ou reescrevê-lo, que seria o ideal, agora se alguém conseguir, ficarei feliz em disponibilizar aqui a alteração com os devida autoria
Comentário por Rafael A. R. Dias — 30/05/2011 @ 5:36 pm
Sei que o artigo é antigo, mas segue a solução:
function limita ( campo , maximo )
{
if ( campo . value . length == maximo )
{
return false;
}
}
Comentário por Rafael A. R. Dias — 30/05/2011 @ 5:39 pm
Por algum motivo o HTML foi comido… não importa basta saber que deve usar a função da segunte forma
onkeypress = return limita ( this , 10 );
É imprescindível o uso do onkeypress e do return nessa linha
Não adicionei as aspar para evitar que a segurança comesse dnovo o código