Usa o seguinte:
PARA CONTAGEM CRESCENTE
<script>
function conta() {
var quantos = document.form.campo.value.length;
var campo = document.form.campo.value;
var maximo = 10;
document.getElementById('valor').innerHTML = quantos;
if(quantos > maximo-1) {
alert("máximo de caracteres permitidos");
var reduzido = document.form.campo.value.length-1;
var novo_valor = campo.substring(0, reduzido);
document.form.campo.value=novo_valor;
return false;
}
}
</script>
<form name="form">
<input type="text" name="campo" onKeyup="conta()">
</form>
<div id="valor">0</div>
PARA CONTAGEM DECRESCENTE
<script>
function conta() {
var quantos = document.form.campo.value.length;
var campo = document.form.campo.value;
var maximo = 10;
var decrescente = maximo-quantos;
document.getElementById('valor').innerHTML = decrescente;
if(quantos > maximo-1) {
alert("máximo de caracteres permitidos");
var reduzido = document.form.campo.value.length-1;
var novo_valor = campo.substring(0, reduzido);
document.form.campo.value=novo_valor;
return false;
}
}
</script>
<form name="form">
<input type="text" name="campo" onKeyup="conta()">
</form>
<div id="valor">10</div>