La programmazione lato client con JavaScript è strettamente legata al DOM ( Document Object Model ) del browser e quindi, anche se è stato quasi tutto standardizzato, occorre prestare molta attenzione alle differenze che si possono trovare con i vari browser. In questo articolo vedremo di spiegare come gestire gli eventi attraverso dei semplici esempi. Vediamo quindi i vari eventi che è possibile intercettare:
- onClick – attiva un’azione al click su un elemento.
- onChange – attiva un’azione quando il contenuto di un elemento viene cambiato.
- onLoad – applicabile al tag BODY, avviene al caricamento della pagina.
- onUnload – applicabile al tag BODY, avviene alla chiusura della pagina.
- OnMouseOver – attiva un’azione quando il mouse viene posizionato sopra un elemento.
- onMouseOut – attiva un’azione quando il mouse abbandona un elemento.
- onSubmit – applicabile al tag FORM, avviene alla spedizione di un modulo.
Ad esempio possiamo visualizzare un messaggio prima di un download:
<html>
<head><title>Download</title></head>
<body>
<a href="XXXXX.XXX" onClick="alert('Ma complimenti!!!');">
Download XXXXX.XXX</a>
</body>
</html>
oppure possiamo validare i dati inseriti dall’utente prima di spedirli:
<html>
<head><title>Registrazione</title></head>
<script language="javascript">
function validaDati()
{
nome = document.registrazione.nomeUtente.value;
pass1 = document.registrazione.passUtente1.value;
pass2 = document.registrazione.passUtente2.value;
if (nome.length < 3 || nome.length > 20)
{
alert("Utente non valido!");
return false;
}
if (pass1.legth < 3)
{
alert("Password non valida!");
return false;
}
if (pass1 != pass2)
{
alert("Le password non coincidono!");
return false;
}
if (!confirm("Continuare a registrare " + nome + "?"))
return false;
return true;
}
</script>
<body>
<form name="registrazione" action="xxxxx.php"
method="post" onSubmit="return validaDati()">
Nome utente: <input type="text" name="nomeUtente"><br>
Password: <input type="password" name="passUtente1"><br>
Conferma Password: <input type="password" name="passUtente2">
<br><br>
<input type="submit" value="Registrazione">
</form>
</body>
</html>
Il cuore di tutta la procedura è il gestore dell’evento onClick nel FORM, in base al valore restituito ( true o false ) il processo di registrazione sarà portato avanti oppure interrotto.


