Mon script pour compter les caractères marche sous IE7 et non IE8
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:
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:
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