E cinque... poi vado a dormire (finalmente)...

Se vi siete chiesti come sia possibile l'inserimento dei dati in maniera dinamica, ovvero, come controllare i valori dei campi di un modulo (di tipo text o textarea) mano a mano che l'utente inserisce dei nuovi caratteri, allora potete fare in questo modo...(che periodo infinito :D )

Ad esempio vogliamo fare in modo che, in una casella di testo, l'utente inserisca solamente numeri e, una volta inserito il quarto numero, si focalizzerà il pulsante per l'invio del modulo.

Il codice funzionante è il seguente:

<html>
<head>
<title>Anno di nascita</title>
<script language="JavaScript">
var ie = (navigator.appName.indexOf('Microsoft Internet Explorer')>-1); // se browser è ie
function controlla(e) {
if(ie) {
key = event.keyCode;
} else key = e.which;
if((key < 48 || key > 58) && (key != 8 && key != 13)) {
alert("Attenzione: e' possibile inserire esclusivamente numeri");
if(!ie) {
document.modulo.anno.value = document.modulo.anno.value.substr(0, [continua a capo] document.modulo.anno.value.length-1);
}
return false;
}
if(document.modulo.anno.value.length == 4) if(key != 8) document.modulo.pulsante.focus();
}
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="modulo" method="get" action="script.php">
Anno di nascita:
<input size="4" maxlength="4" type="text" name="anno"
onkeydown="return controlla(event);">
<input type="submit" name="pulsante" value="Invia">
</form>
</body>
</html>


Come si può notare, si è già dato il limite massimo di 4 caratteri per la textbox utilizzando l'attributo "maxlength" del tag input.

L'attributo "size" invece ci consente di ridimensionare la casella di testo su 4 colonne.

I codici Unicode dei numeri sono tutti i valori compresi tra 48 (lo "zero") e 57 (il "nove"). Così, se il valore key non è compreso tra questi due numeri ed è diverso dal tasto "BackSpace" (Unicode: 8) e contemporaneamente è diverso da "Invio" (Unicode: 13), restituiamo false (così il carattere non sarà visualizzato) ed allertiamo l'utente.

Queste sono le informazioni più importanti per l'inserimento dinamico dei dati e possono essere modificati per ottenere l'effetto desiderato...

Con questo è tutto. E' passata un'altra mezz'ora e mi è venuto sonno (allèluia!)... alla prox! :D :D

Sito internet:
http://inter4ever.altervista.org

Per contattarmi:
arfo@tiscali.it