Dall'autore: dovresti essere a conoscenza dell'attributo type nel campo di input. Questo attributo specifica il tipo di input nel modulo che l'utente vedrà. Se l'attributo viene omesso o viene utilizzato un nuovo valore in un vecchio browser, il tag continuerà a funzionare. Verrà impostato il tipo di default type="testo". Questo è il punto principale che ti consente di utilizzare i moduli HTML5 oggi, anche se supporti i browser più vecchi. Se hai nuovi tipi, come e-mail o ricerca, i vecchi browser visualizzeranno un semplice campo di testo.
Il nostro modulo di registrazione utilizza 4 dei 10 tipi che tutti conoscete: checkbox, testo, password e invio. Sotto è lista completa tipi disponibili in HTML5 campi di immissione:
La specifica HTML5 parla di altri 9 tipi aggiuntivi con cui puoi creare elementi dell'interfaccia utente specifici, oltre a eseguire la convalida dei dati nativi:
HTML5.1 e WHATWG HTML Living Standard includono altri quattro tipi relativi alla data, tre dei quali sono abbastanza ben supportati nei browser moderni:
datetime (non supportato in nessun browser)
Diamo un'occhiata a ciascuno in dettaglio nuovo tipo e vedere anche come possono essere utilizzati.
Ricerca
Il tipo di input di ricerca (tipo = "ricerca") è un campo di ricerca, un input a riga singola per l'inserimento di uno o più cercare frasi. Dalla specifica:
"La differenza tra un tipo di testo e un tipo di ricerca è puramente stilistica: su piattaforme in cui i campi di ricerca differiscono dai normali campi di testo, il tipo di ricerca forzerà l'input in modo che corrisponda agli stili della piattaforma".
Molti browser impostano i campi di ricerca alla maniera dei blocchi di ricerca del browser o del sistema operativo. Chrome, Safari, Opera e IE hanno aggiunto la possibilità di eliminare il testo facendo clic sull'icona "x" che appare non appena il testo viene immesso (vedere la Figura 4.5). Chrome e Opera cancellano anche i campi di data/ora e IE11 aggiunge un'icona "x" a quasi tutti i tipi, inclusi i tipi di testo.
Figura 4.5. il campo di ricerca del tipo è stilizzato come campi di ricerca del sistema operativo
Sui dispositivi della campagna Apple, i campi di ricerca hanno angoli arrotondati per impostazione predefinita in Chrome, Safari e Opera, che duplica aspetto esteriore campi di ricerca nel sistema operativo. Sui tablet con tastiera dinamica, il pulsante Vai appare come un'icona di ricerca o la parola "cerca". Tutto dipende dal dispositivo. Se aggiungi un attributo personalizzato, in Chrome e Opera verrà visualizzata l'icona di una lente d'ingrandimento.
Puoi ancora utilizzare type="testo" alla vecchia maniera, ma il nuovo tipo di ricerca è un indizio visivo per gli utenti su cui devono fare clic per trovare il sito. Inoltre, il nuovo tipo è molto simile ai campi di ricerca standard a cui sono abituati gli utenti. Non c'è ricerca sul sito The HTML5 Herald, ma potrebbe essere:
< form id = "search" method = "get" > < label for = "s" >Ricerca< / label > < input type = "search" id = "s" name = "s" / > < input type = "submit" value = "Ricerca" / > < / form > |
Nei browser senza supporto, il tipo di ricerca viene visualizzato come un normale campo di testo, quindi non c'è motivo per non utilizzarlo dove appropriato.
Indirizzi email
Non sorprende che il tipo di email (type=”email”) venga utilizzato per impostarne una o più indirizzi email. Supporta l'attributo booleano multiplo, che può essere utilizzato per specificare più indirizzi separati da virgole (con uno spazio).
Modifichiamo il nostro modulo per digitare="email" nei campi email:
< label for = "email" >Il mio indirizzo di posta elettronica è< / label > < input type = "email" id = "email" name = "email" / > |
Se modifichi il tipo da testo a e-mail, non ci saranno modifiche visive. L'input sembra ancora un normale campo di testo. Tuttavia, sono diversi.
Le modifiche possono essere visualizzate sul dispositivo touch. Quando il campo dell'e-mail si concentra, sulla maggior parte dispositivi touch(ad esempio, iPad o telefono Android con Chromium) visualizzerà una tastiera ottimizzata per l'inserimento di un indirizzo E-mail. La tastiera mostrerà @, punto, spazio, ma nessuna virgola, come mostrato nella Figura 4.6.
Figura 4.6. campo tipo e-mail con tastiera personalizzata sul dispositivo sotto Controllo iOS
IN Browser Firefox, Chrome, Opera e Internet Explorer 10 Se l'e-mail viene inserita in modo errato, viene visualizzato un messaggio di errore. Ciò accade quando si tenta di inviare un modulo con testo che non è riconosciuto come uno o più indirizzi. Il messaggio di errore standard è mostrato nella Figura 4.7.
Figura 4.7. messaggio di errore relativo all'indirizzo e-mail inserito in modo errato browser Opera(a sinistra) e Firefox (a destra)
Nota: messaggi di convalida personalizzati
Non ti piace il messaggio di errore standard del browser? Imposta il tuo con .setCustomValidity(errorMsg). SetCustomValidity accetta solo un parametro, il messaggio di errore. Se è impostato un messaggio di convalida personalizzato, dopo l'immissione corretta, è necessario cancellare la riga con il messaggio (valore false) affinché il modulo venga inviato:
function setErrorMessages(formControl) ( var ValidityState_object = formControl.validity; if (validityState_object.valueMissing) ( formControl.setCustomValidity("Imposta un'età (richiesto)"); ) else if (validityState_object.rangeUnderflow) ( formControl.setCustomValidity("You \"sei troppo giovane"); ) else if (validityState_object.rangeOverflow) ( formControl.setCustomValidity("Sei\"sei troppo vecchio"); ) else if (validityState_object.stepMismatch) ( formControl.setCustomValidity("Contando la metà dei compleanni?" ); ) else ( //se l'input è valido, deve essere falso, altrimenti si verificherà un errore formControl.setCustomValidity(""); ) )
funzione setErrorMessages(formControl) ( var ValidityState_object = formControl . validità; if (validityState_object . valueMissing ) ( formControl. setCustomValidity( "Imposta un'età (richiesto)") ; ) else if (validityState_object . rangeUnderflow ) ( formControl. setCustomValidity ("Sei troppo giovane"); ) else if (validityState_object . rangeOverflow ) ( formControl. setCustomValidity ("Sei troppo vecchio"); ) else if (validityState_object . stepMismatch ) ( SpecificaAttributo richiestoI valoriIn tavola. 1 elenca i possibili valori per l'attributo type e l'aspetto risultante del campo modulo.
Nuovi valori sono stati aggiunti a HTML5, come mostrato nella Tabella 1. 2. Il supporto per questi valori da parte dei browser è mostrato nella tabella. 3.
Valore predefinitoHTML5 IE Cr Op Sa Fx
HTML5 IE Cr Op Sa Fx
Etichetta INGRESSOè uno degli elementi del modulo versatili e consente di creare diversi elementi dell'interfaccia e fornire l'interazione con l'utente. Lo scopo principale di INPUT è creare campi di testo, vari pulsanti, interruttori e caselle di controllo. Sebbene elemento INGRESSO non deve essere inserito all'interno di un contenitore FORM che definisce un modulo, ma se l'input dell'utente deve essere inviato a un server dove viene elaborato da un programma CGI, è necessario FORM. Lo stesso vale nel caso dell'utilizzo del trattamento dei dati applicazioni client come gli script JavaScript. Parametro principale tag INGRESSO, che definisce il tipo di tipo di elemento . Ti permette di impostare i seguenti elementi moduli: campo di testo ( testo ), campo password ( password ), pulsante di opzione ( checkbox ), checkbox ( pulsante di opzione ), campo nascosto ( nascosto ), pulsante ( pulsante ), pulsante per inviare il modulo ( invia ), pulsante per cancellare il modulo (reset), un campo per l'invio di un file (file) e un pulsante con un'immagine (immagine). Ogni elemento ha un proprio elenco di parametri che ne determinano l'aspetto e le caratteristiche. Sintassi Etichetta di chiusura Parametri Esempio 1: utilizzo del tag INPUT Descrizione dei parametri del tag INPUTParametro ALLINEADescrizione Sintassi Si applica argomenti
Valore predefinito Esempio 2. Allineamento di un campo con un'immagine Nota Opzione ALTDescrizione Sintassi argomenti Valore predefinito Esempio 3: aggiungi testo alternativo Parametro BORDODescrizione Sintassi argomenti Valore predefinito Esempio 4: aggiunta di una cornice a un'immagine Nota parametro VERIFICATODescrizione Sintassi argomenti Valore predefinito Esempio 5. Etichettare i pulsanti di opzione Parametro DISABILITATODescrizione Sintassi Si applica argomenti Valore predefinito parametro LUNGHEZZA MASSIMADescrizione Sintassi argomenti Valore predefinito Esempio 7 - Limitazione del numero di caratteri inseriti in un campo parametro NOMEDescrizione Sintassi Si applica argomenti Valore predefinito Esempio 8: utilizzo di un nome di campo parametro SOLO READDescrizione Sintassi argomenti Valore predefinito Esempio 9 - Campo di sola lettura parametro DIMENSIONEDescrizione Sintassi argomenti Valore predefinito Esempio 10. Larghezza campo parametro SRCDescrizione Sintassi argomenti Valore predefinito Esempio 11. Percorso del file grafico parametro TIPODescrizione Sintassi argomenti
|