Quando mancano 20 caratteri il colore predefinito del contatore cambia e diventa "prerosso", se però a 20 cancello un qualche carattere e rientro nei 20, il colore del contatore non ridiventa colore predefinito ma rimane sempre "prerosso". Praticamente non ridiventa colore predefinito.

Mentre invece per il secondo codice, quello che fa diventare il contatore rosso, è tutto a posto, se vado sotto 10 diventa rosso, se rientro nei 10 ridiventa il colore precedente e cioè "prerosso"

Codice PHP:
function conta(el) {
var 
max_char 50// Limite massimo di caratteri consentiti
var conta_caratteri el.value.length;
if(
conta_caratteri >= max_char) {
conta_caratteri max_char;
el.value el.value.substring(0max_char);
}
document.getElementById("Contatore").innerHTML max_char conta_caratteri;
if(
max_char conta_caratteri 20) {  // A 20 caratteri rimanenti il contatore diventa #a60101
document.getElementById("charCount").className 'prerosso';
}
document.getElementById("Contatore").innerHTML max_char conta_caratteri;
if(
max_char conta_caratteri 10) {  // A 10 caratteri rimanenti il contatore diventa rosso
document.getElementById("charCount").className 'rossi';
}

...

<
div id="charCount">Rimanenti 50 caratteri</div>
 }