Ciao, ho trovato on-line uno script che stampa a schermo il numero di caratteri che l'utente ha inserito in un input text area e che impedisce, una volta raggiunto il limite, l'inserimento di nuovi caratteri.
Volevo aggiungere, già che ci sono, una funzione che blocca il pulsante di submit se non ci sono caratteri inseriti nel form.
Questo è lo script
Codice:
<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='<p class="text2">Caratteri: <span id="'+theform.toString()+'">'+thelimit+'</span></p>'
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>
Cosa devo inserire per ottenere quello che voglio?