Messaggi di vario tipo


Un tipo di messaggi che in qualche modo richiamano l'attenzione del visitatore di una pagina è già stato spiegato nella pagina precedente a questa, dove venivano mostrato il funzionamento degli alert boxes.
Simili a questo sono le finestre di dialogo create con confirm() .
Eccone subito un esempio:
Come si è già detto per gli alert boxes, l'unico tipo di formattazione del testo possibile, è quella che si ottiene tramite i caratteri di escape (\n, \t) e l'uso fantasioso di caratteri come l'underscore (il trattino di sottolineatura _ ), backslash e forwardslash ( le "barre" \ e / ), i vari operatori (+-*/ ma state attenti che devono essere essere usati con l'escape o come stringhe, altrimenti potrebbe non funzionare niente!).
Ecco l'esempio di un confirm box un po' più elaborato:
Ancora una volta questo confirm box non fa nulla, ma presto vedremo come fare per poter usare pienamente le sue caratteristiche, ma prima introduciamo un altro tipo di caselle di dialogo, quelle generate da prompt() .
Queste caselle richiedono un input da parte del visitatore. Questo input può in seguito essere usato per mostrare messaggi di benvenuto oppure pagine "personalizzate" con i dati immessi oppure ancora, usarlo come richiesta di password per accedere ad aree riservate a chi si registra.
Un esempio di prompt box (senza funzione) è questo:
Vediamo adesso come si può creare un documento interattivo usando queste finestre di dialogo in modo combinato:

<script language="javascript">
function pagina_pers()
{
do
{
n = prompt("Inserisci il tuo nome", "");
if (n=="")
alert("Non hai inserito il nome. Tenta di nuovo");
}
while(n=="");

var mess = "Hai inserito " + n + "\nSei sicuro?";

if (confirm(mess))
alert("Ciao " + n + "\nBenvenuto su http:\/\/web.tiscalinet.it\/alexmfm");
else
alert("Hai annullato. Fai clic sul bottone con scritto \*cliccando qui\* per iniziare di nuovo");
}
</script>>
<input type="button" value="Clicca qui" onclick="pagina_pers();">
Ecco cosa succede quando si pigia il bottone:
un prompt box chiede di inserire un nome;
se non viene messo (ovvero se la variabile n
che lo contiene è vuota) viene mandato un messaggio di errore con alert e viene
riproposto il modulo di prompt (serve a questo
il ciclo do...while, infatti la condizione in cui si ripete il ciclo è quella di n uguale a stringa vuota).
Se si inserisce un nome viene chiamato un confirm box che chiede di confermare/annullare
il nome immesso.
Interessante è il fatto che la condizione
dell'if sia il confirm box stesso;
questo significa che se viene premuto "OK" (ha valore true) si esegue quello che
viene specificato dall'if stesso, altrimenti (Annulla) quello descritto dall'else.
Se il nome è corretto appare un messaggio di benvenuto, altrimenti appare un messaggio che dice di riscrivere il nome.

Il risultato è visibile

Come avete visto, è molto facile combinare i metodi alert(), confirm() e prompt() per ottenere risultati accattivanti e creare delle pseudo applicazioni per avere pagine personalizzate sull'input dell'utente oppure per creare form di certificazione degli utenti per mezzo delle password. In questo ultimo caso però non è possibile mascherare l'input, quindi per fare in modo che appaiano gli asterischi al posto dei caratteri, è meglio usare un campo input di un form, con il tipo password.

<-Indietro