[Résolu]Compteur de caractères dans textarea en temps réél
Je cherche à écrire un compteur qui affiche en temps réél le nombre de caractères entrés dans une textarea. Voila ce que j'ai fait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
function calculus(count) {
var id = 'message'+count;
var content = document.getElementById(id).firstChild.data;
var len;
if (content=="undefined") {
len = 0;
} else {
len = content.length;
}
var remain = maxCount-len;
var container = document.getElementById('counter');
var oldContent = container.firstChild.data;
var oldLen = oldContent.length;
container.firstChild.replaceData(0,oldLen,remain);
} |
et la textarea (généré avec DOM :
Code:
1 2 3 4 5 6
|
textarea1.setAttribute('id','message'+counter);
textarea1.setAttribute('class','txt_area3');
textarea1.setAttribute('onKeyDown','calculus('+counter+')');
var textc = document.createTextNode(tabPushs[counter][3]);
textarea1.appendChild(textc); |
Résultat, quand je charge la page et que des données se trouvent deja dans la textarea (dans le TextNode textc), le champs se met à jour correctement. Mais quand j'entre des caractères ou que j'en supprime, ça ne se met pas à jour. Pourtant, en mettant des alert() dans ma fonction calculus, je vois que, grâce à l'event onKeyDown, ma fonction est bien appellée. Mais quand j'affiche mon "content", il est inchangé. Comment est-ce possible ?