Esa función está bien hasta el momento en que se borra un carácter, ooops, lo mejor es usar jquery para todas estás cosas, validar text y demás.
pero para que esa función funcione.... debería ser así
el evento que la llama no ser onKeyPress, debe ser onKeyup y no es necesario sumar 1 al valor devuelto por la función que cuente los caracteres
esa quedaría así
Cita: function contar_caracteres(id){
valor=id.value.length;
alert(valor);
}
y su llamada
Cita: <input type="text" id="txt1" name="txt1" onkeyup="contar_caracteres(this);"/>
así funciona, pero como digo la ventaja de jquery u otro framework es que el control y las opciones son enormes
un saludo