Qualcuno potrebbe aiutarmi? Il seguente script in javascript conta i caratteri presenti in un campo di testo, limitandoli a 250, il problema e che con Explorer 6 Nessun Problema, mentre invece Firefox non visualizza i caratteri rimanenti, in cosa può consistere l'errore?
Codice PHP:
<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.,/]/ //detect alphanumeric keys
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='Puoi inserire ancora <span id="'+theform.toString()+'">'+thelimit+'</span> caratteri'
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>
<textarea name="descrizione" cols="20" rows="3" id="testo">Nessuna</textarea>
<script language="javascript">
displaylimit("","descrizione",250)
</script>