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

Link funcionando

download

  1. Desabilitar o Enter em um form com Javascript
  2. Contagem regressiva em Javascript
  3. Trabalhando com querystring e Javascript
  4. Javascript para principiantes ou esquecidinhos. Aula 4 – Funções
  5. Otimizando o JS. Diminuir o uso do getElementById



9 Comentários »

  1. 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. ;)

  2. Comentário por Jeniffer — 17/12/2010 @ 4:40 pm

    Oi Leandro.
    Obrigada pela código, funcionou certinho.

    :)

  3. 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.

  4. 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

  5. Comentário por wagner h — 24/03/2011 @ 9:06 am

    Maravilha…ajudou muito mesmo.
    Continue postando!!!

  6. 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 [...]

  7. 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

  8. 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;
    }
    }

  9. 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

Rss dos comentários TrackBack URL

Deixe um comentário