Campi input

Controlli per l'inserimento di dati in un form.

Per il corretto funzionamento degli elementi di tipo <input>, è di fondamentale importanza l’utilizzo uno degli appositi attributi type (ad esempio, email per l’inserimento di indirizzi email o number per informazioni numeriche), in modo da sfruttare i controlli di input più recenti come la verifica dell’email, l’utilizzo di metodo di input numerico e altro.

Si può includere un’etichetta che si riposiziona automaticamente quando l’utente utilizza il campo di testo.

Si può abbinare all’etichetta un placeholder (testo di esempio) per ulteriore chiarezza.


            <div>
                <div class="form-group">
                    <label for="exampleInputText" style="width: auto;">Campo di tipo testuale</label>
                    <input type="text" class="form-control" id="exampleInputText"  placeholder="Testo di esempio">
                </div>
                <div class="form-group">
                    <label for="textarea" style="width: auto;">Campo di tipo testuale / textarea</label>
                    <textarea id="textarea" >Testo di esempio</textarea>
                </div>
                <div class="form-group">
                    <label for="exampleInputEmail1" style="width: auto;" class="">Campo di tipo email</label>
                    <input type="email" class="form-control" id="exampleInputEmail1">
                </div>
                <div class="form-group">
                    <label for="exampleInputNumber" style="width: auto;">Campo di tipo numerico</label>
                    <input type="number" class="form-control" id="exampleInputNumber">
                </div>
                <div class="form-group">
                    <label for="exampleInputTelephone" style="width: auto;">Campo di tipo telefono</label>
                    <input type="tel" class="form-control" id="exampleInputTelephone">
                </div>
                <div class="form-group">
                    <input type="time" class="form-control" id="exampleInputTime" min="9:00" max="18:00">
                    <label for="exampleInputTime" style="width: auto;">Campo di tipo ora</label>
                </div>
            </div>

Icona, testo di aiuto e bottoni

In caso di necessità, è anche possibile utilizzare un ulteriore contenuto testuale sotto il campo di testo, aggiungendo un elemento <small> con classe .form-text all’interno di .form-group.

Il testo di aiuto deve essere esplicitamente associato agli elementi del mudulo form a cui si riferisce utilizzando l’attributo aria-describedby. Ciò garantirà che le tecnologie assistive, come gli screenreader, leggano questo testo di aiuto quando l’utente avrà il focus sull’elemento.

E' possibile introdurre icone utilizzanto il tag svg e bottoni con il tag button

Aggiungi l’attributo disabled ad un input per impedire la modifica del valore contenuto e non inviare i dati in esso contenuti.


Ulteriore testo informativo
my-title
my-title
my-title
            <div class="form-group">
                <label for="formGroupExampleInputWithHelp">Etichetta di esempio</label>
                <input
                        type="text"
                        class="form-control"
                        id="formGroupExampleInputWithHelp"
                        placeholder="Testo di esempio"
                        aria-describedby="formGroupExampleInputWithHelpDescription"
                >
                <small id="formGroupExampleInputWithHelpDescription" class="form-text">Ulteriore testo informativo</small>
            </div>
            <div class="form-group pt-2">
                <div class="input-group">
                    <div class="input-group-prepend">
                        <div class="input-group-text"><svg role="img" aria-describedby="my-title" class="icon icon-sm icon-danger"><title id="my-title">my-title</title><use xlink:href="./dist/svg/sprite.svg#it-pencil"></use></svg></div>
                    </div>
                    <label for="input-group-2" class="active" style="transition: none 0s ease 0s;">Con Etichetta</label>
                    <input type="text" disabled class="form-control" id="input-group-2" name="input-group-2" placeholder="Lorem Ipsum">
                    <div class="input-group-append">
                        <button disabled class="btn" type="button" id="button-2">Invio</button>
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="input-group">
                    <div class="input-group-prepend">
                        <div class="input-group-text"><svg role="img" aria-describedby="my-title" class="icon icon-sm icon-danger"><title id="my-title">my-title</title><use xlink:href="./dist/svg/sprite.svg#it-pencil"></use></svg></div>
                    </div>
                    <label for="input-group-2" class="active" style="transition: none 0s ease 0s;">Con Etichetta e placeholder</label>
                    <input type="text" class="form-control" id="input-group-2" name="input-group-2" placeholder="Lorem Ipsum">
                    <div class="input-group-append">
                        <button class="btn" type="submit" id="button-2">Invio</button>
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="input-group">
                    <div class="input-group-prepend">
                        <div class="input-group-text"><svg role="img" aria-describedby="my-title" class="icon icon-sm icon-primary"><title id="my-title">my-title</title><use xlink:href="./dist/svg/sprite.svg#it-pencil"></use></svg></div>
                    </div>
                    <label for="input-group-3" style="width: auto;">Con Etichetta e bottone "primary"</label>
                    <input type="text" class="form-control" id="input-group-3" name="input-group-3">
                    <div class="input-group-append">
                        <button class="btn btn-primary" type="button" id="button-3">Invio</button>
                    </div>
                </div>
            </div>

Area di testo

Per permettere agli utenti di inserire del testo (ad esempio per lasciare commenti o informazioni), è bene utilizzare un elemento di tipo <textarea> ridimensionabile.

Includendo l’elemento all’interno di un .form-group, la label assumerà lo stesso comportamento dinamico dei campi di input.

            <div>
                <div class="form-group">
                    <label for="exampleFormControlTextarea1" style="width: auto;" class="">Esempio di area di testo</label>
                    <textarea id="exampleFormControlTextarea1" rows="3" class=""></textarea>
                </div>
            </div>

Nota sull'uso di autofocus

L'attibuto autofocus fa si che un campo venga immediatamente selezionato, permettendo all'utente l'inserimento immediato delle informazioni.
Se utilizzato, è necessario utilizzare anche l'attributo placeholder - anche con una stringa vuota se necessario - per far si che la label del campo si posizioni correttamente al di sopra del campo stesso.

<div class="form-group">
    <label for="exampleInputText" >Campo di tipo testuale</label>
    <input type="text" class="form-control" autofocus placeholder="Testo di esempio" data-focus-mouse="false">
</div>
Torna su