<style type="text/css">
.progress{
largeur : 1px ;
hauteur : 14px ;
couleur : blanc ;
taille de police : 12 px ;
débordement : caché ;
couleur de fond : bleu marine ;
remplissage à gauche : 5 px ;
}
</style>
<script type="text/JavaScript">
function textCounter(field,counter,maxlimit,linecounter) {
// largeur du texte //
var fieldWidth = parseInt(field.offsetWidth);//La méthode parseInt renvoie l'entier converti à partir de la chaîne. Convertit une chaîne en entier.
//obj.offsetWidth fait référence à la largeur absolue du contrôle obj lui-même, à l'exclusion de la partie non affichée en raison d'un débordement, c'est-à-dire la largeur qu'il occupe réellement, entier, unité de pixel
var charcnt = field.value.length;
// coupe le texte supplémentaire
if (charcnt > maxlimit) {
field.value = field.value.substring(0, limitemax);
}
autre {
// pourcentage de la barre de progression
var pourcentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
document.getElementById(counter).style.width = parseInt((fieldWidth*percentage)/100)+"px";
document.getElementById(counter).innerHTML="Perdu : "+pourcentage+"%"
// correction des couleurs sur le style de CCFFF -> CC0000
setcolor(document.getElementById(counter),pourcentage,"background-color");
}
}
fonction setcolor(obj,pourcentage,prop){
obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%";
}
</script>
<p>Limite : 120 octets</P>
<formulaire>
<textarea rows="5" cols="40" name="maxcharfield" id="maxcharfield"
onKeyDown="textCounter(this,'progressbar1',120)"
onKeyUp="textCounter(this,'progressbar1',120)"
onFocus="textCounter(this,'progressbar1',120)" ></textarea><br />
<div id="progressbar1" class="progress"></div>
<script>textCounter(document.getElementById(" maxcharfield"), "progressbar1",120)</script>
</form>