Corso di HTML / Organizzare i moduli con fieldset, legend e autocomplete
Usate fieldset per raggruppare gli elementi del modulo correlati e legend per indicare la domanda del gruppo. Per campi come il nome o l'indirizzo e-mail di una persona, un appropriato token autocomplete può indicare al browser quali informazioni il campo richiede.
Raggruppare una domanda con fieldset e legend
Le singole etichette dei pulsanti di opzione descrivono le risposte, ma gli utenti hanno bisogno anche della domanda a cui appartengono queste risposte. legend fornisce questo nome del gruppo. Confrontate gli input radio e checkbox, inclusi i controlli non selezionati, in Selezione dei tipi di input per email, numeri, date e opzioni.
<fieldset>
<legend>Come possiamo contattarti?</legend>
<label><input type="radio" name="contact" value="email"> E-mail</label>
<label><input type="radio" name="contact" value="phone"> Telefono</label>
</fieldset>
Aprite l'esempio in un browser: per impostazione predefinita, possono apparire un bordo e un'etichetta. Il CSS può modificare questa visualizzazione senza rimuovere la relazione. Entrambi i pulsanti radio condividono name="contact", quindi selezionare un'opzione annulla la selezione dell'altra. Usate un fieldset separato per un'altra domanda e un nome di gruppo di pulsanti radio diverso; altrimenti, selezionare una risposta in una domanda potrebbe deselezionare una risposta in un'altra.
Descrivere lo scopo di un campo con autocomplete
<form action="/contact" method="post">
<fieldset>
<legend>Dati di contatto</legend>
<label for="full-name">Nome completo</label>
<input id="full-name" name="full_name" autocomplete="name">
<label for="email">Indirizzo e-mail</label>
<input id="email" name="email" type="email" autocomplete="email">
</fieldset>
<button type="submit">Invia</button>
</form>
autocomplete="name" e autocomplete="email" descrivono gli obiettivi dei campi. Non impostano un valore fisso e non trasmettono informazioni a nome dell'utente. La presenza di un suggerimento dipende dalle impostazioni del browser e dalle informazioni memorizzate. L'attributo name è la chiave lato server; il token autocomplete è un'indicazione dello scopo previsto dell'input. /contact è un percorso illustrativo e richiede un gestore lato server. Un obiettivo di completamento automatico non sostituisce l'associazione di etichetta e ID descritta in collegare correttamente label e input .
Testare gruppi indipendenti e obiettivi di input
Salvate il documento come groups.html e selezionate E-mail e Mattina. Entrambe le selezioni dovrebbero coesistere, poiché i gruppi utilizzano valori di nome diversi.
<!doctype html>
<html lang="it-IT">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Esercizio sui gruppi</title>
</head>
<body>
<h1>Rispondi a due domande indipendenti</h1>
<form id="groups-form" method="get">
<fieldset>
<legend>Opzione di contatto</legend>
<label><input type="radio" name="contact" value="email" required> E-mail</label>
<label><input type="radio" name="contact" value="phone"> Telefono</label>
</fieldset>
<fieldset>
<legend>Orario di visita</legend>
<label><input type="radio" name="visit" value="morning" required> Mattina</label>
<label><input type="radio" name="visit" value="afternoon"> Pomeriggio</label>
</fieldset>
<button type="submit">Controlla le due risposte</button>
</form>
</body>
</html>
Sostituite temporaneamente name="visit" con name="contact" in entrambi i campi di opzione del gruppo di visita. Se selezionate una risposta, quella dell'altra domanda viene deselezionata: lo stesso name definisce il gruppo radio. Ripristinate name="visit" dopo il confronto.
| Token di completamento automatico | Scopo dell'immissione | Campo di esempio |
|---|---|---|
name |
Nome completo | Nome completo, ad esempio Alex Weber |
given-name |
Nome | Un campo separato per il nome |
family-name |
Cognome | Un campo separato per il cognome |
email |
Indirizzo e-mail | type="email" |
tel |
Numero di telefono | type="tel" |
postal-code |
Codice postale | type="text" |
Scegliete un token che corrisponde alle informazioni richieste. autocomplete="postal-code" non convalida il formato del codice postale e un browser senza dati salvati potrebbe non riuscire a mostrare suggerimenti.
Verificare raggruppamento e completamento automatico
Non inserite domande non pertinenti nello stesso fieldset e non distribuite una domanda a scelta singola senza un nome di gruppo. Utilizzate invece i token autocomplete definiti al posto di parole qualsiasi. Provate due gruppi indipendenti di campi opzionali: se la selezione di una risposta nel secondo gruppo cancella la prima, probabilmente i loro valori name coincidono accidentalmente. La funzione di completamento automatico non verifica i dati degli utenti, e i moduli che raccolgono dati personali richiedono sempre pratiche adeguate di sicurezza e privacy. Consultate la documentazione MDN autocomplete e il riferimento fieldset.




