<input type="text" onkeyup="formatta(this);">
Nella head ci dovra` essere una funzione di questo tipo.
Te la imposto, ma serve un po' di tempo e di prove per farla funzionare, cosa che al momento non ho.
Se hai ancora problemi puo` venirti in aiuto qualcun altro oppure ci possiamo sentire lunedi`.
codice:
function formatta(cc) {
var v = cc.value;
var re = new RegExp( /^\d{1,3}(\:(\d{1,2}(\'(\d{1,2}(\"(\d{1,2})?)?)?)?)?)?$/ );
if(!re.test(v)) { // controllo dati inseriti
v = v.substr(0,v.length-1);
alert("impostazione errata");
cc.focus();
return false;
}
if(v.match(/\d{2}/) cc.value = v+':';
else if(v.match(/\d{1,3}\:\d{2}/) cc.value = v+"'";
else if(v.match(/\d{1,3}\:\d{1,2}\'\d{2}/) cc.value = v+'"';
return true;
}
Attenzione che c'e` largo uso delle RE che sono molto delicate: da un lato avrei potuto fare errori, dall'altro devi fare attenzione a copiare esatto (fai un quote del messaggio prima del copia-incolla).
Se e` corretta, dovrebbe anche essere piu` intelligente delle richieste, ma io non riesco a provarla.