Version levemente modificada, el problema era de logica, y la solución es basicamente lo que IsaBelM menciono. En este caso no es necesario llamar parseInt, puesto que ambos operadores son de typo numerico.
Código Javascript
:
Ver originalvar contenido_textarea = "",
num_caracteres_permitidos = 10,
form;
function valida_longitud(){
form = document.forms[0];
form.caracteres.value = num_caracteres_permitidos;
var num_caracteres = form.texto.value.length
if (num_caracteres <= num_caracteres_permitidos){
contenido_textarea = form.texto.value
}else{
form.texto.value = contenido_textarea
}
if (num_caracteres >= num_caracteres_permitidos){
form.caracteres.style.color="#ff0000";
}else{
form.caracteres.style.color="#000000";
}
cuenta()
}
function cuenta(){
form.caracteres.value = num_caracteres_permitidos - form.texto.value.length;
}
Código HTML:
Ver original <title>Que un Textarea no sobrepase longitud en caracteres
</title> // codigo aca
<body onload = "valida_longitud()"> <form action="#" method="post">
<td><textarea cols="40" rows="5" name="texto" onKeyDown="valida_longitud()" onKeyUp="valida_longitud()"></textarea></td> <td><input type="text" name=caracteres size=4></td>
pd: recuerda siempre utiliza el keyword var cuando declares variables.