Bonjour,

Je ne m'y connais pas du tout en javascript... J'aimerai compter le nombre de lettres dans plusieurs textarea sur une meme page.

J'ai récupéré un script qui me permet de compter le nombre de mots dans un textarea :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
<script type="text/javascript">
var ns6=document.getElementById&&!document.all
 
function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ 
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}
 
function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}
 
function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> caractères maximum.'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}
 
</script>
Ce script fonctionne très bien si on a qu'un seul textarea. Par contre s'il y en a plusieurs par pages, seul le 1e ligne où le message affiché sera mis à jour et pas les autres... Meme si le compteur fonctionne bien séparément pour chaque textarea, la phrase n'est pas affichée au bon endroit.. Comment faire ?

un exemple :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<form name=form> 
<textarea name="description" id="esp"  rows="4" cols="22" style="border: 1px double #B8C8FE; background-color: #0069B3; color: #FFCC00;"></textarea>
<br>
<font face="verdana" size="2" color="#B8C8FE"><script>displaylimit("","esp",250)</script><br></font>
<textarea name="description1" id="esp1"  rows="4" cols="22" style="border: 1px double #B8C8FE; background-color: #0069B3; color: #FFCC00;"></textarea>
<br>
<font face="verdana" size="2" color="#B8C8FE"><script>displaylimit("","esp1",250)</script><br></font>
 
 
</form>
Toujours la 1e phrase qui est mis à jour... Merci pour l'aide