bonsoir,

Je suis débutant en javascript.
J'ai pris un code que j'utilise sur mon site. Le code permet de compter les caractères tapés dans un box au fure à mesure qu'ils sont tapés. Le code marche bien (IE7, FF, Safari)
Depuis que j'ai installé IE8, le même code ne marche pas sur IE8.
SVP Pourriez-vous m'aider à l'adapter? Ou connaitriez-vous un code plus simple compatible à tous les navigateurs et aussi à IE8.

Voici le code:

Fichier fonctions.js
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
// COMPTER DES CARACTERES DANS UN CHAMP-----------------------------------------------------------
 
 
 
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); 
}
}
Page HTML où se trouve le formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<head>
//appeler le fichier
<SCRIPT LANGUAGE=Javascript SRC="../js/fonctions.js"> </SCRIPT>
</head>
 
<body>
<form>
...
<textarea name="metadescription" cols="92" rows="4" id="idTexte">Voici la place réservée au texte pas plus de 138 caractères</textarea> 
<script>displaylimit("","idTexte",138)</script>
</form>
</body>
D'avance je vous remercie