Bonjour,
J'ai fait une petite fonction très simple pour limiter le nombre de caractères dans un textarea lors de la saisie, cela fonctionne très bien sous IE mais pas avec Mozilla.
Il semblerait que le innerHTML du HTMLElement Textarea ne soit pas mis à jour à chaque frappe de touche sous Mozilla alors qu'il l'est sous IE !!!
Je vous montre le code JS :
et son utilisation dans un doc HTML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function getHTMLElement(id) { if( document.getElementById ) return document.getElementById(id); else if (document.all) return document.all[id]; else return eval("document."+id) } function checkNbCar(max,idText,idDisplay,lAlert) { var summary = getHTMLElement(idText).innerHTML; var sz = summary.length; if( sz > max ) { sz = max; getHTMLElement(idText).innerHTML = summary.substring(0,max); if( lAlert ) alert( max + " caractères autorisés !" ); } if(idDisplay != null) getHTMLElement(idDisplay).innerHTML = sz + "/" + max; }
Quelqu'un aurait-il une idée ? Existe-t'il une alternative au innerHTML, quelque chose du style getBuffer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <textarea cols="66" rows="3" id="SUMMARY" name="p_summary" onKeyUp="checkNbCar(255,'SUMMARY','NBCAR',true);">Le contenu</textarea><br/> <b id="NBCAR"></b>
Par avance merci,
-David-
Partager