Form Html5

Ormai tutti siamo coscienti che l’ html5 ha dato una svolta incredibile alla semantica degli elementi e sul modo di […]
Form Html5

Ormai tutti siamo coscienti che l’ html5 ha dato una svolta incredibile alla semantica degli elementi e sul modo di strutturare l’intero documento html. Meritano sicuramente attenzione i nuovi form, ci sono oltre una decina di nuovi tipi di input da usare, senza bisogno di trucchi o soluzioni indirette.

Testo Segnaposto

Il testo segnaposto è quel testo visibile nell’input, e rimane attivo finchè non viene compilato o attivato il campo. Compatibile con: Firefox 3.7, Safari 4.0+, Chrome 4.0+

<input placeholder="Cerca nei bookmarks" />

Autofocus dei campi

L’attributo autofocus attiva un determinato campo input al caricamento di una pagina. Un esempio lo trovi in google, nella homepage del noto motore di ricerca viene automaticamente attivato il campo input, in modo che si possa digitare la parola da cercare senza posizionare il cursore. Compatibile con: Firefox 8.0, Safari 4.0+, Chrome 3.0+, Opera 10.0+, Iphone, Android

<input autofocus />

Indirizzi email

Da più di dieci anni i form sono composti dalle solite tipologie di input. L’html5 definisce alcuni nuovi tipi di campi, tra questi il campo email. L’attributo pattern definisce i contenuti obbligatori per la convalida del form.

<input type="email" pattern="@." />

Il campo email non ha problemi di compatibilità, o meglio i browser che non leggono type=”email” lo interpretano come un semplice type=”text”, anche IE 6. In sostanza il campo email al momento non ha un tipo di visualizzazione nei browser. La differenza puoi notarla da un iphone, ad esempio all’attivazione del campo email viene caricata la tastiera con @ e il . (punto).

Indirizzi web

Gli indirizzi web sono un’altra novità delle tipologie di input. Anche questo lo si può notare da un iphone,  in questo caso offre una tastiera contenente i tre simboli principali di un indirizzo web:  . (punto)   /  e  .com.

<input type="url" />

Intervalli di numeri

Eccoci arrivati ai numeri. Il type=”number” specifica ovviamente che si tratta di un campo numerico, ma con alcune caratteristiche:

<input type="number" min="0" max="10" step="2" value="6" />

Come puoi notare sopra, oltre alla tipologia del campo ci sono altri parametri:

  • min specifica il valore minimo accettabile in questo campo;
  • max pecifica il valore massimo accettabile in questo campo;
  • step definisce i numeri nell’intervallo del click;
  • value è il valore iniziale presente nel campo.

Compatibile con le ultime versioni di Chrome, Opera e Safari (testato sulle ultime versioni).

Cursori

Oltre alla visualizzazione a spinbox vista sopra, gli input numerici possono essere rappresentati anche sotto forma di cursori. Il markup è molto simile a quello visto poco fa, ecco come si presenta:

<input type="range" min="0" max="10" step="2" value="6" />

Compatibile con le ultime versioni di Chrome, Opera e Safari (testato sulle ultime versioni).

Selettori di data

Fino a poco tempo fa per includere un controllo di selezione date abbiamo fatto ricorso sempre a librerie esterne. Finalmente l’html5 include un controllo nativo all’interno dei form senza uso di javascript. Vediamo le diverse tipologie:

<input type="date" /> Semplice selezione di una data
<input type="datetime" /> Se oltre alla data si vuole associare l'ora
<input type="month" /> Se si vuole indicare solo il mese e l'anno
<input type="week" /> Se si vuole indicare solo una settimana
<input type="time" /> Se si vuole indicare un'ora in particolare

Compatibile con: Opera 9.0+

Caselle di ricerca

Il tipo di campo search permette la visualizzazione di una “x” alla fine dell’input. In pratica permette di cancellare in un solo click l’intero contenuto scritto nel campo.

<input type="search" />

Compatibile con: Chrome e Safari (testato sulle ultime versioni).

Completamento automatico con Datalists

Utilizzando i datalists è possibile creare un elenco di dati per il completamento automatico di un campo input

<input name="frameworks" list="frameworks" />

<datalist id="frameworks">
    <option value="MooTools">
    <option value="Moobile">
    <option value="Dojo Toolkit">
    <option value="jQuery">
    <option value="YUI">
</datalist>

Selettori di colore

L’html5 permette anche di scegliere un colore e di restitiurne il corrispettivo esadecimale. Purtroppo questa tipologia di input non è ancora supportata da nessun browser, speriamo in un giorno non molto lontano.
Compatibile con le ultime versioni di Chrome, Opera e Safari.

Siamo ancora lontani

Purtroppo tutte queste belle funzionalità possiamo goderle in alcuni dei browser moderni, sperando al più presto in una completa compatibilità. Se hai altre informazioni riguardo ai form html5 puoi scriverci nei commenti o condividerle sulla fanpage di laboratoriocss. Per usufruire dell’utilità dei form ti consiglio di visualizzare la demo con Opera o Chrome.

Provalo subito

Prova la demo Consulta il codice
  • Ehm dicevo: generalmente in html5 come si risolvono i problemi di retrocompatibilità ?

    • Ciao Sergio, per i form sostanzialmente non esiste un modo per renderli compatibili, bisogna attendere che tutti i browser si adattino, e speriamo lo facciano in fretta.
      Per quanto riguarda all’html5 in generale, posso dirti che esistono dei “trucchi” per far supportare dai browser questi nuovi elementi. Abbiamo scritto un articolo in merito: http://www.laboratoriocss.it/html5-internet-explorer.html dagli un’occhiata. Ciao

  • pietro barbieri

    C’è modo di eliminare la “x” aggiunta per la cancellazione del campo ?

Search
Tags
Seleziona rubrica
Seleziona rubrica
Codice Github