11. Forms
11.1 Documento interattivo: Metodi POST e GET
Ricevere dati dal client e` stato uno dei problemi che sono
pesati di piu` in HTML. Basti pensare a tutta quella modulistica
WWW che oggi possiamo compilare ed inviare (sondaggi,
ordinazioni, commenti, ecc.).
La trasmissione di informazioni da client verso server avviene
con due modalita` principali, il POST ed il GET. La differenza
tra le due e` che, mantre il GET invia i dati come parametri di
un comando (una ricerca in YAHOO o LYCOS e` un tipico esempio di
GET), il metodo POSt invia i dati come stringhe successive. Nel
primo caso, l'applicativo server che deve interpretare i dati
ricevuti li trovera` nella linea di comando che lo richiama,
mentre nel secondo dovra` ricevere le stringhe successivamente.
Le modalita` di recupero dei dati sono gestite da funzioni
tipiche del server, che esulano dallo scopo del corso. Vediamo,
invece, come viene impostata la cosa dal lato HTML.
11.2 Documento interattivo: FORM
Per impostare il documento HTML in modo da poter inviare dati
al server viene usato il tag FORM. Questo tag accetta tre
parametri, che sono:
- ACTION: Indica l'URL da attivare per inviare i dati.
Generalmente, il file indirizzato e` uno script o un
eseguibile.
- METHOD: Specifica POST o GET.
- ENCTYPE: Indica la natura dei dati inviati, in formato
MIME. Quando l'URL utilizza il protocollo HTTP (nella
maggior parte dei casi), ENCTYPE e` impostato di default
a "application/x-www-form-urlencoded".
All'interno del form, esistono una serie di tags che
consentono di costruire le strutture di dialogo. Quseti sono:
- TEXTAREA: Crea un'area di testo scrivibile su piu` linee.
I parametri che accetta sono:
- ROW,COL: Dimensioni, in caratteri, della
finestra.
- WRAP: Indica la modalita` di wrapping del testo.
I valori ammessi sono:
- OFF: Default. Il testo non va a capo
automaticamente.
- VIRTUAL: Il testo va a capo
automaticamente, ma viene inviato come
linea unica.
- PHISICAL: Il testo va a capo
automaticamente e viene inviato come
visualizzato.
- NAME: Imposta il nome del campo, che verra` poi
usato dall'applicativo per rintracciare il
contenuto del campo stesso.
- SELECT: Crea una lista di scelte possibili. Accetta tre
parametri, che sono:
- NAME: Equivalente al NAME di TEXTAREA
- SIZE: Indica l'altezza massima, in righe, della
lista. Se la lunghezza supera questo valore,
verra` visualizzata una barra di scorrimento
verticale.
- MULTIPLE: Se presente, consente di fare scelte
multiple nella lista
- OPTION: Si accompagna alla SELECT ed indica il contenuto
della lista di scelte. I parametri ammessi sono:
- SELECTED: Indica il valore inizialmente
selezionato nella lista.
- VALUE: Indica il valore da inviare come dato al
server. Quando non e` presente, viene preso il
contenuto della OPTION.
- INPUT: Questo tag genera tutti gli altri tipi di
interfaccia di dialogo quali pulsanti, check box, text
box, ecc. I suoi parametri sono:
- NAME: Anche qui come per TEXTAREA.
- SIZE: Dimensione del campo da visualizzare,
dipendentemente dal tipo di campo.
- SRC: Un URL per associare un'immagine ad un
pulsante, se desiderato.
- MAXLENGHT: Numero massimo di caratteri
introducibili in un campo testo. Se maggiore di
SIZE, il testo scorrera` in accordo
all'introduzione dei dati.
- CHECKED: In caso di un oggetto pulsante, lo crea
gia` selezionato.
- ALIGN: Specifica il tipo di allineamento rispetto
al testo del campo. Da usare solo con TYPE=IMAGE.
- TYPE: Specifica il tipo di interfaccia di dialogo
da creare. I tipi sono:
- CHECKBOX: Genera una casella
selezionabile.
- HIDDEN: Non genera interfaccia di
dialogo. Viene usato per inviare dati al
server che dipendono dal client, tipo
nome o indirizzo IP.
- IMAGE: Un campo immagine, cliccando sul
quale i dati vengono inviati al server.
Al campo verranno inoltre associate le
coordinate sulle quali era puntato il
mouse al momento del click.
- PASSWORD: Un campo testo, digitando nel
quale, invece dei caratteri, vengono
visualizzati dei '*'.
- RADIO: Genera un radio button, cioe` un
pulsante che, selezionato, deseleziona
automaticamente gli altri del suo gruppo.
E` obbligatorio il parametro VALUE.
- RESET: Genera un pulsante che azzera
tutti i valori del FORM.
- SUBMIT: Genera un pulsante che invia i
dati al server. Il parametro VALUE
imposta l'etichetta del pulsante. Se
manca, viene visualizzato
"SUBMIT".
- TEXT: Una singola linea di testo.
- TEXTAREA: Vedi sopra.
- VALUE: Il valore iniziale del campo da
visualizzare.
