Quero contar caracteres em uma área de texto, então acabei de fazer:
<textarea id="field" onkeyup="countChar(this)"></textarea>
function countChar(val){
var len = val.value.length;
if (len >= 500) {
val.value = val.value.substring(0, 500);
} else {
$('#charNum').text(500 - len);
}
};
O que há de errado com meu pedaço de código? Não funciona! Bem, essa foi uma caligrafia para iniciantes, preciso de uma ajuda.
Respostas:
Quais erros você está vendo no navegador? Entendo por que seu código não funciona se o que você postou estava incompleto, mas sem saber que não tenho certeza.
... funciona bem para mim.
Editar: Você provavelmente deve limpar a div charNum ou escrever algo, se eles estiverem acima do limite.
fonte
Versão melhorada com base na função de Caterham :
fonte
Solution️ A solução aceita é falha.
Aqui estão dois cenários em que o
keyup
evento não será acionado:Use o
input
evento HTML5 para obter uma solução mais robusta:JavaScript ( demo ):
E se você absolutamente deseja usar o jQuery:
fonte
input
evento. GraçasA amostra HTML, usada sempre que eu precisar de um contador, observe a relevância dos IDs da área de texto e do segundo período:
id="post"
<->id="rem_post"
e o título do período que contém a quantidade de caracteres desejada de cada área de texto específicaA função JavaScript, geralmente colocada antes
</body>
no meu arquivo de modelo, requer jQueryfonte
isso funcionou bem pra mim.
fonte
substring()
precisa se tornarsubstr()
.Exemplo: jsfiddle.net/xqyWV
fonte
Bem, isso não é tão diferente do que foi dito, mas funciona muito bem em todos os navegadores.
A idéia é excluir qualquer texto que exceda o comprimento definido.
O código HTMl seria:
fonte
HTML
jQuery
fonte
Eu fiz uma combinação dos itens acima. Ele permite a interrupção da entrada de texto e o retrocesso, além de manter a contagem, mesmo quando retrocede:
Código JavaScript:
HTML:
Crédito para os pôsteres antes de mim !! Espero que isso ajude alguém!
fonte
Eu criei meu próprio plugin jQuery para esta tarefa, você pode experimentá-lo aqui:
http://jsfiddle.net/Sk8erPeter/8NF4r/
Você pode criar contadores de caracteres on-the-fly (e também contadores de caracteres restantes), definir se deseja cortar texto, definir os textos de sufixo e também definir um formato curto e seu separador.
Aqui está um exemplo de uso:
Aqui está o código do plugin:
fonte
fonte
Fiquei me perguntando como fazer a mesma coisa e tendo idéias de todos aqui é isso que eu vim com:
JsFiddle
fonte
Além disso, você pode colocar seu próprio ID ou classe de elemento em vez de "h1" e o evento length contar seus caracteres da string da área de texto ☻
fonte
Seu código estava um pouco confuso. Aqui está uma versão limpa:
fonte
Tente este.
fonte
Uma versão mais genérica para que você possa usar a função em mais de um campo.
fonte
Use o seguinte para pular usando else e também pular a contagem negativa.
fonte
Aqui está o meu exemplo. Ceia simples
fonte
Não ficamos satisfeitos com nenhuma das soluções propostas.
Portanto, criamos uma solução completa de contador de caracteres para o JQuery, construída sobre o jquery-jeditable . É uma
textarea
extensão de plug - in que pode contar para os dois lados, exibe uma mensagem personalizada, limita a contagem de caracteres e também suporta jquery-datatables .Você pode testá-lo imediatamente no JSFiddle .
Link do GitHub: https://github.com/HippotecLTD/realworld_jquery_jeditable_charcount
Começo rápido
Adicione estas linhas ao seu HTML:
E depois:
fonte
fonte
Você pode usar:
fonte