El funcionamiento es muy sencillo de entender, pero en cualquier caso podemos ver el script en marcha para saber exactamente qué nos proponemos.
El único detalle a tener en cuenta relacionado con Javascript es el par de eventos que tenemos definidos dentro del campo textarea, que sirven para llamar a la función que realiza la cuenta de los caracteres en el momento que el usuario presiona o suelta las teclas. Concretamente se utiliza el evento onKeyDown para definir las acciones a realizar cuando se aprete la tecla y onKeyUp, para definir acciones a ejecutar cuando se suelta la tecla apretada.
<form action="#" method="post">
<table>
<tr>
<td>Texto:</td>
<td><textarea cols="40" rows="5" name="texto" onKeyDown="cuenta()" onKeyUp="cuenta()"></textarea></td>
</tr>
<tr>
<td>Caracteres:</td>
<td><input type="text" name=caracteres size=4></td>
</tr>
</table>
</form>
<script>
function cuenta(){
document.forms[0].caracteres.value=document.forms[0].texto.value.length
}
</script>
Puede que a muchos haya sorprendido la sencillez del script, pero es que no hace falta más.
La propiedad value del textarea contiene el texto escrito y a su vez, la propiedad length guarda el número de caracteres de dicho texto. Así, document.forms[0].texto.value.length equivale al número de caracteres introducidos dentro del textarea. Este valor se asigna al contenido del campo de texto del formulario donde guardamos el número de caracteres, mediante la propiedad value del campo: document.forms[0].caracteres.value.
Con todo ello, se mostrará en el campo de texto el número de caracteres del textarea. Se puede ver el ejemplo en una página aparte.
Esperamos que este script haya solucionado vuestras necesidades para llevar la cuenta de los caracteres escritos en el textarea. Si deseamos además restringir el textarea para que no se pueda escribir más que un número de caracteres determinado, puedes continuar esta lectura con el artículo Evitar que un textarea sobrepase un número de caracteres permitidos.
| Por: Manuel | 27/1/2004
|
| Por: Jorge | 27/1/2005
|
| Por: Ricardo Soto | 24/12/2006
|
| consulta Por: ariel | 12/9/2011
|