Tutorials Dialog Boxes Alert, Prompt, Confirm |
|
L'argomento di questo tutorial sono tre metodi di window usati per: . - alert: dare un avviso - confirm: chiedere conferma - prompt: chiedere l'immissione di un dato Nell'ultima pagina vedremo l'uso degli apici e dei caratteri di controllo. |
|
Apici e caratteri di controllo Mentre è attiva una dialog (alert, confirm o prompt) il browser è bloccato! Nessuna operazione è possibile finché non viene cliccato OK o Annulla (o vengono premuti Enter o Esc sulla tastiera). In alert, confirm e prompt non ha importanza il tipo di apici usati per il messaggio, ma bisogna fare attenzione ad usarli in modo corretto. Se usiamo i doppi apici per un messaggio di alert: alert("Email errata") e vogliamo dire all'utente che, ad esempio, ha dimenticato di mettere la chiocciola (@) non possiamo usare una sintassi del tipo: alert("Hai dimenticato la "@" nel tuo indirizzo") perché il primo doppio apice che racchiude @ terminerebbe la stringa, e l'interprete JavaScript darebbe un errore (appunto) di Stringa non terminata o di illegal character (riferendosi ad @). Per ovviare possiamo seguire due strade: 1.- racchiudere il messaggio in apici singoli (e gli apici doppi diventerebbero parte della stringa): alert('Hai dimenticato la "@" nel tuo indirizzo') 2.- usare la notazione \" per far si che l'interprete ignori il doppio apice: alert("Hai dimenticato la \"@\" nel tuo indirizzo") Queste due soluzioni sono equivalenti. In particolare la soluzione 1. (invertendo gli apici: alert("Hai dimenticato la '@' nel tuo indirizzo")) funziona allo stesso modo. Qui i doppi apici sono i delimitatori di stringa, e gli apici singoli fanno parte della stringa. Inoltre in alert, confirm e prompt non è possibile usare i normail tag HTML, quindi non è possibile ad esempio centrare un testo o renderlo grassetto, oppure usare i caratteri estesi al posto dei normali accentati ("è" invece di "è"). È possibile però usare alcuni caratteri di controllo per andare a capo, dare delle tabulazioni ecc. Questi caratteri sono: \n va in un rigo nuovo \t tabulazione \' visualizza il singolo apice \" visualizza i doppi apici \\ visualizza backslash È evidente che il carattere "backslash" ( \ ) ha un significato particolare: - nei primi due casi dice all'interprete di "fare qualcosa" (andare a capo, dare una tabulazione) - negli ultimi tre casi dice all'interprete di "visualizzare un apice singolo", "visualizzare un doppio apice", "visualizzare un backslash" (quest'ultimo come ovvia conseguenza dell'uso di "\" come carattere di controllo). Un'ultimo avviso: a differenza dell'HTML standard più spazi consecutivi vengono effettivamente visualizzati. Il pulsante che segue visualizza un alert in cui vengono usati tutti questi caratteri di controllo: La stringa ("messaggio") usato dall'alert è: <SCRIPT> <!-- var stringalert="Questa è la prima riga\n\nquesta riga sta due righi più sotto.\n\n\tAnche questa è due righi più sotto, ma è spostata a destra con una tabulazione.\n\n Invece questa è spostata a destra da una serie di \"spazi\"\n\n\nIl carattere seguente è un doppio apice: \" (visualizzato con \\\");\n\n\nIl carattere seguente è un\'apice singolo: \' (visualizzato con \\\');\n\n\nIl carattere seguente è un backslash: \\ (visualizzato con \\\\);\n\n\nSe si potesse usare HTML la seguente parola sarebbe in <B>grassetto</B>, ma non lo è mentre la seguente lettera sarebbe una è (e accentata)"; //--> </SCRIPT> (naturalmente tutto in una riga, qui è spezzato su più righe solo per esigenze di impaginazione) |