Ho modificato lo script come segue.
Il problema che riscontro adesso è il non funzionamento dello script di aggiornamento dell'ultimo campo che dovrebbe conteggiare la somma dei caratteri rimanenti di entrambi i campi.
Che errore commetto ?
tnx and happy n.y.
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form con limitazione delle dimensioni massime</title>
<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(theform,thelimit){
var limit_text='<span id="'+theform.toString()+'">'+thelimit+'</span> caratteri rimanenti'
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);
}
}
function ContaLettere(input,maxletter,restante){
var restano = maxletter-document.getElementById(input.id).value.length
document.getElementById(restante).innerHTML=restano
}
function calcola_resto(){
var maxlength = 400
one = document.getElementById('TextArea').value.length;
two = document.getElementById('Text').value.length;
document.getElementById('Resto').value = maxlength - (one * 1) - (two * 1);
document.getElementById('NumeroResto').innerHTML = maxlength - (one * 1) - (two * 1);
}
</script>
</head>
<body>
<form id="esempio" name="esempio">
<textarea name="TextArea" id="TextArea" onkeyup="calcola_resto()" class="box" cols="50" rows="5"></textarea>
<script>displaylimit("document.esempio.TextArea",200)</script>
<input name="Text" id="Text" onkeyup="calcola_resto()" size="66" class="box">
<script>displaylimit("document.esempio.Text",200)</script>
<input type="Text" id="Resto" size="2" disabled>
<div id="NumeroResto">400</div>
</form>
</body>
</html>