Potremmo avere la necessità di passare dei parametri "di servizio", senza far percepire la loro presenza all'utente. In questo caso possiamo utilizzare dei campi nascosti, presenti all'interno del form ma invisibili all'utente (ricordiamoci sempre di specificare la coppia "nome-valore"):
<input type="hidden" name="urlDiProvenienza" value="www.html.it">
Il campo "file", consente invece di inviare un file sul server, nel caso in cui la pagina di risposta sia stata programmata correttamente. La sintassi è:
<form action="">
<input name="fileUtente" type="file" size="20">/
</form>
che dà:
dove con size indichiamo la larghezza del campo. A fianco del modulo compare il pulsante "sfoglia" o "browse" (a seconda della lingua del browser dell'utente).
Un esempio concreto
Riprendendo un esempio accennato in precedenza, possiamo vedere come sia possibile consentire all'utente di inviarci il contenuto di un questionario tramite e-mail. Dal punto di vista dell'utente si aprirà un messaggio che domanda se si vuole inviare una mail, ma ciò è inevitabile se si utilizza questo metodo: per evitare questa eventualità bisognerebbe infatti usare dei programmi che inviino e-mail lato-server.
<fieldset>
<legend>Dati Utente</legend>
<label>Nome: <input name="nome" type="text" size="20" maxlength="30"></label>
<label>Cognome: <input name="cognome" type="text" size="20" maxlength="30"></label>
<label>Professione: <input name="cognome" type="text" size="20" maxlength="30"/></label>
</fieldset>
<br/>
<fieldset>
<legend>Questionario</legend>
<label>Siti visitati:<br>
<select name="siti" size="5" multiple="multiple">
<option value="http://www.html.it">www.html.it</option>
<option value="http://freephp.html.it">frephp.html.it</option>
<option value="http://freasp.html.it">freasp.html.it</option>
<option value="http://font.html.it">font.html.it</option>
<option value="http://cgipoint.html.it" >cgipoint.html.it </option>
</select>
</label>
</fieldset>
<br/>
<fieldset>
<legend>Campo libero</legend>
<label>Lasciami un parere:<br>
<textarea name="parere" cols="20" rows="10"></textarea>
</label>
</fieldset>
<br/>
<button type="reset">annulla</button>
<button type="submit">invia</button>
che dà luogo a questo form: