{"id":164035,"date":"2024-10-01T09:00:00","date_gmt":"2024-10-01T07:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/input-html-tipi-campo-moduli\/"},"modified":"2024-10-01T09:00:00","modified_gmt":"2024-10-01T07:00:00","slug":"input-html-tipi-campo-moduli","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/input-html-tipi-campo-moduli\/","title":{"rendered":"Input HTML: Tutti i Tipi di Campo per i Moduli Web"},"content":{"rendered":"<p style=\"text-align: justify;\">Il tag <code>&lt;input&gt;<\/code> \u00e8 senza dubbio l&#8217;elemento pi\u00f9 <strong>versatile<\/strong> dell&#8217;intero HTML. Con oltre 20 tipi diversi disponibili, \u00e8 il componente fondamentale di qualsiasi modulo web. Ogni tipo di input modifica radicalmente l&#8217;aspetto e il comportamento del campo, dalla semplice casella di testo ai selettori di data e colore. In questo articolo esploreremo tutti i tipi di input disponibili, con esempi pratici e indicazioni su quando utilizzare ciascuno.<\/p>\n<h2>Input di Testo: text, password, email, tel e url<\/h2>\n<p style=\"text-align: justify;\">I tipi di input testuali sono i pi\u00f9 comuni nei moduli web. Ogni tipo \u00e8 ottimizzato per un formato specifico di dato e, sui dispositivi mobili, attiva la <strong>tastiera pi\u00f9 appropriata<\/strong>.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"text\"<\/code> \u00e8 il tipo predefinito e crea un campo di testo generico a riga singola. Accetta qualsiasi carattere e non applica alcuna validazione specifica. \u00c8 il tipo da utilizzare quando nessun altro tipo specifico \u00e8 appropriato.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"password\"<\/code> funziona come un campo di testo ma <strong>nasconde i caratteri<\/strong> digitati, visualizzandoli come punti o asterischi. I browser moderni offrono spesso un&#8217;icona per mostrare\/nascondere la password. I gestori di password riconoscono automaticamente questo tipo di campo per la compilazione automatica.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"email\"<\/code> \u00e8 specifico per gli indirizzi email. Il browser <strong>valida automaticamente<\/strong> il formato dell&#8217;email (verifica la presenza di @ e un dominio). Su mobile, mostra una tastiera con il simbolo @ facilmente accessibile. L&#8217;attributo <code>multiple<\/code> permette l&#8217;inserimento di pi\u00f9 indirizzi email separati da virgola.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"tel\"<\/code> \u00e8 dedicato ai numeri di telefono. Non applica validazione automatica (i formati telefonici variano troppo nel mondo), ma su mobile mostra il <strong>tastierino numerico<\/strong>, rendendo l&#8217;inserimento molto pi\u00f9 rapido. Per la validazione, si usa l&#8217;attributo <code>pattern<\/code> con un&#8217;espressione regolare.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"url\"<\/code> \u00e8 progettato per gli URL. Valida automaticamente che il valore sia un URL ben formato (con protocollo). Su mobile, mostra una tastiera con tasti dedicati come &#8220;\/&#8221; e &#8220;.com&#8221;.<\/p>\n<h2>Input Numerici: number e range<\/h2>\n<p style=\"text-align: justify;\">Il tipo <code>type=\"number\"<\/code> crea un campo numerico con <strong>frecce incremento\/decremento<\/strong> (spinner). Accetta solo valori numerici e supporta gli attributi <code>min<\/code>, <code>max<\/code> e <code>step<\/code> per definire l&#8217;intervallo e l&#8217;incremento validi. Su mobile, attiva il tastierino numerico.<\/p>\n<p style=\"text-align: justify;\">Attenzione: <code>type=\"number\"<\/code> non \u00e8 sempre la scelta giusta per dati che contengono cifre. I numeri di carta di credito, i CAP e i numeri di telefono non sono valori numerici nel senso matematico (non si fanno operazioni aritmetiche su di essi). Per questi casi, \u00e8 preferibile usare <code>type=\"text\"<\/code> con <code>inputmode=\"numeric\"<\/code> e un attributo <code>pattern<\/code> appropriato.<\/p>\n<p style=\"text-align: justify;\">Il tipo <code>type=\"range\"<\/code> visualizza un <strong>cursore scorrevole<\/strong> (slider) per selezionare un valore all&#8217;interno di un intervallo definito. \u00c8 perfetto per impostazioni dove l&#8217;utente non ha bisogno di un valore esatto (volume, luminosit\u00e0, budget approssimativo). Come per number, supporta <code>min<\/code>, <code>max<\/code> e <code>step<\/code>. Per mostrare il valore corrente all&#8217;utente, \u00e8 necessario un piccolo script JavaScript o l&#8217;elemento <code>&lt;output&gt;<\/code>.<\/p>\n<h2>Input per Data e Ora: date, time, datetime-local, month, week<\/h2>\n<p style=\"text-align: justify;\">HTML5 ha introdotto una serie di tipi di input dedicati alla selezione di <strong>date e orari<\/strong>, eliminando la necessit\u00e0 di librerie JavaScript esterne come datepicker per molti casi d&#8217;uso.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"date\"<\/code> mostra un <strong>selettore di data<\/strong> nativo del browser con calendario. Il valore viene sempre salvato nel formato ISO <code>YYYY-MM-DD<\/code>, indipendentemente dalla localizzazione visiva. Gli attributi <code>min<\/code> e <code>max<\/code> limitano l&#8217;intervallo di date selezionabili.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"time\"<\/code> visualizza un selettore per l&#8217;<strong>orario<\/strong>, con formato che varia in base al locale del sistema (12 o 24 ore). Il valore \u00e8 nel formato <code>HH:MM<\/code> (o <code>HH:MM:SS<\/code> con l&#8217;attributo <code>step<\/code>).<\/p>\n<p style=\"text-align: justify;\"><code>type=\"datetime-local\"<\/code> combina data e orario in un unico campo. Non include il fuso orario (per questo esiste l&#8217;attributo <code>step<\/code> per specificare la granularit\u00e0). \u00c8 ideale per la prenotazione di appuntamenti o eventi.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"month\"<\/code> permette di selezionare un <strong>mese e anno<\/strong>, utile per date di scadenza di carte di credito o selezione di periodi. <code>type=\"week\"<\/code> seleziona una <strong>settimana<\/strong> dell&#8217;anno, usato in contesti di pianificazione o reportistica settimanale.<\/p>\n<h2>Input di Selezione: checkbox, radio, select e datalist<\/h2>\n<p style=\"text-align: justify;\">I campi di selezione permettono all&#8217;utente di <strong>scegliere<\/strong> tra opzioni predefinite.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"checkbox\"<\/code> crea una <strong>casella di controllo<\/strong> che pu\u00f2 essere attivata o disattivata. Viene utilizzata per accettazione di termini, preferenze multiple o qualsiasi campo booleano (s\u00ec\/no). Pi\u00f9 checkbox con lo stesso <code>name<\/code> (ma <code>value<\/code> diversi) permettono selezioni multiple.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"radio\"<\/code> crea un <strong>pulsante di opzione<\/strong>. I radio button con lo stesso attributo <code>name<\/code> formano un gruppo in cui \u00e8 possibile selezionare <strong>una sola opzione<\/strong>. Sono ideali per domande a scelta singola come il genere, il metodo di pagamento o la fascia di prezzo.<\/p>\n<p style=\"text-align: justify;\">L&#8217;elemento <code>&lt;datalist&gt;<\/code>, pur non essendo un tipo di input, \u00e8 strettamente correlato. Si collega a un campo <code>&lt;input&gt;<\/code> tramite l&#8217;attributo <code>list<\/code> e fornisce un elenco di <strong>suggerimenti<\/strong> durante la digitazione. A differenza del <code>&lt;select&gt;<\/code>, l&#8217;utente pu\u00f2 anche inserire un valore libero non presente nell&#8217;elenco. \u00c8 perfetto per campi con suggerimenti comuni ma che non devono limitare l&#8217;input (come la citt\u00e0 o la professione).<\/p>\n<h2>Input Speciali: file, color, hidden e submit<\/h2>\n<p style=\"text-align: justify;\"><code>type=\"file\"<\/code> permette all&#8217;utente di <strong>caricare file<\/strong> dal proprio dispositivo. L&#8217;attributo <code>accept<\/code> limita i tipi di file selezionabili (ad esempio, <code>accept=\"image\/*\"<\/code> per sole immagini, <code>accept=\".pdf,.doc\"<\/code> per documenti specifici). L&#8217;attributo <code>multiple<\/code> consente la selezione di pi\u00f9 file contemporaneamente. Ricorda che il form deve avere <code>enctype=\"multipart\/form-data\"<\/code> per inviare correttamente i file.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"color\"<\/code> mostra un <strong>selettore di colore<\/strong> nativo del browser. Il valore \u00e8 un codice colore esadecimale nel formato <code>#RRGGBB<\/code>. \u00c8 perfetto per applicazioni di personalizzazione (temi, configuratori di prodotto).<\/p>\n<p style=\"text-align: justify;\"><code>type=\"hidden\"<\/code> crea un campo <strong>invisibile<\/strong> all&#8217;utente. Viene utilizzato per inviare dati aggiuntivi con il form, come token CSRF per la sicurezza, ID di riferimento o versioni del form. Il campo non viene visualizzato ma il suo valore viene incluso nell&#8217;invio del modulo.<\/p>\n<p style=\"text-align: justify;\"><code>type=\"submit\"<\/code> crea un pulsante che <strong>invia il form<\/strong>. Tuttavia, come discusso nel nostro articolo sui <a href=\"https:\/\/gtechgroup.it\/blog\/form-html-moduli-contatto\/\">form HTML<\/a>, \u00e8 preferibile usare il tag <code>&lt;button type=\"submit\"&gt;<\/code> per la maggiore flessibilit\u00e0 nel contenuto del pulsante.<\/p>\n<h2>Attributi di Validazione e Usabilit\u00e0<\/h2>\n<p style=\"text-align: justify;\">Oltre al tipo, gli input supportano numerosi <strong>attributi<\/strong> che ne migliorano l&#8217;usabilit\u00e0 e la validazione:<\/p>\n<ul>\n<li><code>placeholder<\/code> \u2014 Testo di esempio visualizzato quando il campo \u00e8 vuoto. Non sostituisce mai la label.<\/li>\n<li><code>required<\/code> \u2014 Rende il campo obbligatorio, impedendo l&#8217;invio del form se \u00e8 vuoto.<\/li>\n<li><code>readonly<\/code> \u2014 Il campo \u00e8 visibile e il suo valore viene inviato con il form, ma l&#8217;utente non pu\u00f2 modificarlo.<\/li>\n<li><code>disabled<\/code> \u2014 Il campo \u00e8 disattivato: non \u00e8 modificabile e il suo valore non viene inviato con il form.<\/li>\n<li><code>autofocus<\/code> \u2014 Il campo riceve automaticamente il focus al caricamento della pagina. Usa con cautela: solo un campo per pagina.<\/li>\n<li><code>autocomplete<\/code> \u2014 Suggerisce al browser il tipo di dato per la compilazione automatica. Valori come <code>name<\/code>, <code>email<\/code>, <code>street-address<\/code> aiutano l&#8217;utente a compilare i form rapidamente.<\/li>\n<li><code>inputmode<\/code> \u2014 Suggerisce il tipo di tastiera su mobile senza modificare la validazione. Valori: <code>numeric<\/code>, <code>decimal<\/code>, <code>tel<\/code>, <code>email<\/code>, <code>url<\/code>, <code>search<\/code>.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">La conoscenza approfondita di tutti i tipi di input e dei loro attributi ti permette di creare moduli web professionali, accessibili e ottimizzati per ogni dispositivo. Scegliere il tipo di input corretto non \u00e8 solo una questione tecnica: migliora concretamente l&#8217;esperienza dell&#8217;utente e aumenta il tasso di completamento dei tuoi form.<\/p>\n<p style=\"text-align: justify;\">Hai bisogno di aiuto con i <strong>moduli e i form<\/strong> del tuo sito web? <strong>G Tech Group<\/strong> offre servizi di sviluppo web professionale e consulenza tecnica. Contattaci a <strong>support@gtechgroup.it<\/strong> o via WhatsApp al <strong>0465 84 62 45<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il tag &lt;input&gt; \u00e8 senza dubbio l&#8217;elemento pi\u00f9 versatile dell&#8217;intero HTML. Con oltre 20 tipi diversi disponibili, \u00e8 il componente fondamentale di qualsiasi modulo web.&hellip;<\/p>\n","protected":false},"author":2,"featured_media":164215,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"1246","_seopress_titles_title":"Input HTML: Tutti i Tipi di Campo per Moduli Web %%sep%% %%sitename%%","_seopress_titles_desc":"Guida completa a tutti i tipi di input HTML: text, email, number, date, file, checkbox, radio e i nuovi tipi HTML5 per i moduli web.","_seopress_robots_index":"","footnotes":""},"categories":[1246],"tags":[787],"class_list":["post-164035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html","tag-sviluppo-web"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=164035"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/164215"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=164035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=164035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=164035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}