Quiero contar caracteres en un área de texto, así que acabo de hacer:
<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);
}
};
¿Qué pasa con mi código? ¡No funciona! Bueno, esa era una letra de novato, necesito ayuda.
Respuestas:
¿Qué errores ves en el navegador? Puedo entender por qué su código no funciona si lo que publicó estaba incompleto, pero sin saberlo, no puedo estar seguro.
... funciona bien para mí.
Editar: probablemente debería borrar el div charNum, o escribir algo, si están por encima del límite.
fuente
Versión mejorada basada en la función de Caterham :
fuente
⚠️ La solución aceptada es defectuosa.
Aquí hay dos escenarios en los
keyup
que el evento no se activará:Utilice el
input
evento HTML5 en su lugar para una solución más sólida:JavaScript ( demostración ):
Y si absolutamente quieres usar jQuery:
fuente
input
evento. GraciasEjemplo de HTML, utilizado siempre que necesite un contador, observe la relevancia de los ID del área de texto y el segundo intervalo:
id="post"
<->id="rem_post"
y el título del intervalo que contiene la cantidad de caracteres deseada de cada área de texto en particularLa función de JavaScript, generalmente colocada antes
</body>
en mi archivo de plantilla, requiere jQueryfuente
Esto funcionó bien para mi.
fuente
substring()
necesita convertirsesubstr()
.Ejemplo: jsfiddle.net/xqyWV
fuente
Bueno, esto no es tan diferente de lo que se ha dicho, pero funciona muy bien en todos los navegadores.
La idea es eliminar cualquier texto que sobrepase la longitud definida.
El código HTMl sería:
fuente
HTML
jQuery
fuente
Hice una combinación de lo anterior. Permite detener la entrada de texto y permite retroceder, además mantiene el recuento, incluso cuando retrocede:
Código JavaScript:
HTML:
¡¡Crédito a esos carteles antes que yo !! ¡Espero que esto ayude a alguien!
fuente
Creé mi propio complemento jQuery para esta tarea, puedes probarlo aquí:
http://jsfiddle.net/Sk8erPeter/8NF4r/
Puede crear contadores de caracteres sobre la marcha (y también contadores de caracteres restantes), puede definir si desea cortar el texto, puede definir los textos de sufijo y también puede definir un formato corto y su separador.
Aquí hay un ejemplo de uso:
Aquí está el código del complemento:
fuente
fuente
Me preguntaba cómo hacer esto mismo y tomando ideas de todos aquí, esto es lo que se me ocurrió:
JsFiddle
fuente
Además, puede poner su propio ID de elemento o clase en lugar de "h1" y el evento de longitud cuenta los caracteres de la cadena del área de texto ☻
fuente
Tu código estaba un poco confuso. Aquí hay una versión limpia:
fuente
Prueba este.
fuente
Una versión más genérica para que pueda usar la función para más de un campo.
fuente
Utilice lo siguiente para omitir el uso de else y también omitir el recuento negativo.
fuente
Aquí mi ejemplo. Cena simple
fuente
No estábamos contentos con ninguna de las soluciones propuestas.
Así que hemos creado una solución completa de contador de caracteres para JQuery, construida sobre jquery-jeditable . Es una
textarea
extensión de complemento que puede contar en ambos sentidos, muestra un mensaje personalizado, limita el recuento de caracteres y también admite jquery-datatables .Puede probarlo de inmediato en JSFiddle .
Enlace de GitHub: https://github.com/HippotecLTD/realworld_jquery_jeditable_charcount
Inicio rápido
Agrega estas líneas a tu HTML:
Y entonces:
fuente
fuente
U puede usar:
fuente