11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai récupérer ce script afin d'indiquer la limite de caractère dans un textarea. Il est supposé fonctionner sous IE mais, pour d'obscures raisons, ce n'est pas le cas... et je ne parviens pas à identifier la source du problème.

Toute aide sera appréciée Smiley lol

Voilà le code du script :

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> characteres 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); 
}
}


Et voilà mon code html :

<textarea maxlength="1000" name="message" id="contact-textarea-info" placeholder="Écrire un message..." required ></textarea>
        <p>
            <script type="text/javascript">displaylimit("","contact-textarea-info",1000)</script>
        </p>
        <noscript><a href="http://www.editeurjavascript.com/">ajax</a></noscript>

Modifié par SuperPickle (22 Aug 2012 - 21:33)