HTML
Éléments de contrôle d'entrée
Recherche…
Introduction
Composant essentiel des systèmes Web interactifs, les balises d’entrée sont des éléments HTML conçus pour prendre en charge une forme d’information spécifique des utilisateurs. Différents types d'éléments de saisie peuvent réguler les données saisies pour s'adapter à un format spécifié et assurer la sécurité de la saisie du mot de passe.
Syntaxe
<input type="" name="" value="">
Paramètres
Paramètre | Détails |
---|---|
classe | Indique la classe de l'entrée |
id | Indique l'ID de l'entrée |
type | Identifie le type de contrôle d'entrée à afficher. Les valeurs acceptables sont hidden , text , tel , url , email , password , date , time , number , range , color , checkbox , radio , file , submit , image , reset et button . Par défaut, le text n'est pas spécifié, si la valeur n'est pas valide ou si le navigateur ne prend pas en charge le type spécifié. |
prénom | Indique le nom de l'entrée |
désactivée | Valeur booléenne indiquant que l'entrée doit être désactivée. Les contrôles désactivés ne peuvent pas être modifiés, ne sont pas envoyés lors de l'envoi du formulaire et ne peuvent pas recevoir le focus. |
vérifié | Lorsque la valeur de l'attribut type est radio ou case à cocher, la présence de cet attribut booléen indique que le contrôle est sélectionné par défaut. sinon il est ignoré. |
plusieurs | HTML5 Indique que plusieurs fichiers ou valeurs peuvent être transmis (s'applique uniquement aux entrées de type file et email ) |
espace réservé | HTML5 Un indice pour l'utilisateur de ce qui peut être saisi dans le contrôle. Le texte d'espace réservé ne doit pas contenir de retour chariot ou de saut de ligne |
autocomplete | HTML5 Indique si la valeur du contrôle peut être complétée automatiquement par le navigateur. |
lecture seulement | Valeur booléenne indiquant que l'entrée n'est pas modifiable. Les commandes en lecture seule sont toujours envoyées lors de la soumission du formulaire, mais ne reçoivent pas le focus. HTML5: cet attribut est ignoré lorsque la valeur de l'attribut type est définie sur hidden , range , color , checkbox , radio , file ou button . |
Champs obligatoires | HTML5 Indique qu'une valeur doit être présente ou que l'élément doit être vérifié pour que le formulaire soit soumis |
alt | Un texte alternatif pour les images, au cas où elles ne seraient pas affichées. |
autofocus | L'élément <input> devrait avoir le focus lors du chargement de la page. |
valeur | Spécifie la valeur de l'élément <input> . |
étape | L'attribut step spécifie les intervalles de numéros légaux. Il fonctionne avec les types d'entrées suivants: number , range , date , date - date datetime-local , month , time et week . |
Remarques
Comme pour les autres éléments vides de HTML5, <input>
se ferme automatiquement et peut être écrit <input />
. HTML5 ne nécessite pas cette barre oblique.
Les types d'entrées valides suivants sont en HTML:
Les suivants sont des types d’entrée nouvellement introduits dans le standard HTML 5. Certains de ces types ne sont pas pris en charge par tous les navigateurs Web. Dans le cas où un type n'est pas pris en charge, l'élément d'entrée sera par défaut le type de text
.
Pour vérifier quels navigateurs prennent en charge quels types, vous pouvez aller sur caniuse.com .
Case à cocher et boutons radio
Vue d'ensemble
Les cases à cocher et les boutons radio sont écrits avec la balise HTML <input>
et leur comportement est défini dans la spécification HTML .
La case à cocher ou le bouton radio le plus simple est un élément <input>
avec un attribut de type
respectivement checkbox
ou radio
:
<input type="checkbox">
<input type="radio">
Un seul élément de case à cocher autonome est utilisé pour une seule option binaire telle qu'une question oui ou non. Les cases à cocher sont indépendantes, ce qui signifie que l'utilisateur peut sélectionner autant de choix qu'il le souhaite dans un groupe de cases à cocher. En d'autres termes, cocher une case ne désélectionne pas les autres cases à cocher du groupe de cases à cocher.
Les boutons radio viennent généralement en groupes (si elle n'est pas groupée avec un autre bouton radio, vous vouliez probablement utiliser une case à cocher) identifiée en utilisant le même attribut de name
sur tous les boutons de ce groupe. La sélection des boutons radio est mutuellement exclusive , ce qui signifie que l'utilisateur ne peut sélectionner qu'un seul choix parmi un groupe de boutons radio. Lorsqu'un bouton radio est coché, tout autre bouton radio portant le même name
que précédemment coché devient décoché.
Exemple:
<input type="radio" name="color" id="red" value="#F00">
<input type="radio" name="color" id="green" value="#0F0">
<input type="radio" name="color" id="blue" value="#00F">
Lorsqu'ils sont affichés, les boutons radio apparaissent sous la forme d'un cercle (non coché) ou d'un cercle rempli (coché). Les cases à cocher apparaissent sous la forme d’un carré (non coché) ou d’un carré rempli (coché). Selon le navigateur et le système d'exploitation, le carré a parfois des coins arrondis.
Les attributs
Les cases à cocher et les boutons radio ont plusieurs attributs pour contrôler leur comportement:
value
Comme tout autre élément d'entrée, l'attribut value
spécifie la valeur de chaîne à associer au bouton en cas de soumission de formulaire. Cependant, les cases à cocher et des boutons radio sont spéciaux en ce que lorsque la valeur est omis, par défaut on
lorsqu'il est soumis, plutôt que d' envoyer une valeur vide. L'attribut de value
n'est pas reflété dans l'apparence du bouton.
checked
L'attribut checked
spécifie l'état initial d'une case à cocher ou d'un bouton radio. Ceci est un attribut booléen et peut être omis.
Chacune de ces méthodes est valide et équivalente pour définir un bouton radio vérifié:
<input checked>
<input checked="">
<input checked="checked">
<input checked="ChEcKeD">
L'absence de l'attribut checked
est la seule syntaxe valide pour un bouton non checked
:
<input type="radio">
<input type="checkbox">
Lors de la réinitialisation d'un <form>
, les cases à cocher et les boutons radio reviennent à l'état de leur attribut checked
.
Accessibilité
Étiquettes
Pour donner un contexte aux boutons et montrer aux utilisateurs à quoi sert chaque bouton, chacun d’eux doit avoir une étiquette. Cela peut être fait en utilisant un élément <label>
pour envelopper le bouton. De plus, cela permet de cliquer sur l'étiquette, de sorte que vous sélectionnez le bouton correspondant.
Exemple:
<label>
<input type="radio" name="color" value="#F00">
Red
</label>
ou avec un élément <label>
avec un attribut for
défini sur l'attribut id
du bouton:
<input type="checkbox" name="color" value="#F00" id="red">
<label for="red">Red</label>
Groupes de boutons
Étant donné que chaque bouton radio affecte les autres dans le groupe, il est courant de fournir une étiquette ou un contexte pour l'ensemble du groupe de boutons radio.
Pour fournir une étiquette pour le groupe entier, les boutons radio doivent être inclus dans un élément <fieldset>
avec un élément <legend>
.
Exemple:
<fieldset>
<legend>Theme color:</legend>
<p>
<input type="radio" name="color" id="red" value="#F00">
<label for="red">Red</label>
</p>
<p>
<input type="radio" name="color" id="green" value="#0F0">
<label for="green">Green</label>
</p>
<p>
<input type="radio" name="color" id="blue" value="#00F">
<label for="blue">Blue</label>
</p>
</fieldset>
Les cases à cocher peuvent également être regroupées de manière similaire, avec un champ et une légende identifiant le groupe de cases à cocher correspondantes. Cependant, gardez à l'esprit que les cases à cocher ne doivent pas partager le même nom car elles ne s'excluent pas mutuellement. Si cela se produit, le formulaire soumet plusieurs valeurs pour la même clé et tous les langages côté serveur ne gèrent pas cela de la même manière (comportement non défini). Chaque case à cocher doit avoir un nom unique ou utiliser un ensemble de crochets ( []
) pour indiquer que le formulaire doit soumettre un tableau de valeurs pour cette clé. La méthode que vous choisissez doit dépendre de la manière dont vous prévoyez de gérer les données de formulaire côté client ou côté serveur. Vous devez également garder la légende courte, car certaines combinaisons de navigateurs et de lecteurs d'écran lisent la légende avant chaque champ de saisie dans le jeu de champs.
Caché
<input type="hidden" name="inputName" value="inputValue">
Une entrée masquée ne sera pas visible pour l'utilisateur, mais sa valeur sera envoyée au serveur lorsque le formulaire est néanmoins soumis.
Mot de passe
<input type="password" name="password">
L'élément input avec un attribut type dont la valeur est password
crée un champ de texte à une seule ligne similaire au type=text
entrée type=text
, sauf que le texte n'est pas affiché lorsque l'utilisateur le saisit.
<input type="password" name="password" placeholder="Password">
Le texte d’espace réservé est affiché en texte brut et est automatiquement remplacé lorsqu'un utilisateur commence à taper.
Remarque: Certains navigateurs et systèmes modifient le comportement par défaut du champ de mot de passe pour afficher également le dernier caractère saisi pendant une courte durée, comme ceci:
Soumettre
<input type="submit" value="Submit">
Une entrée de soumission crée un bouton qui soumet le formulaire dans lequel il se trouve lorsqu'il est cliqué.
Vous pouvez également utiliser l'élément <button>
si vous avez besoin d'un bouton de soumission qui peut être plus facilement stylé ou contenir d'autres éléments:
<button type="submit">
<img src="submit-icon.jpg" /> Submit
</button>
Fichier
<input type="file" name="fileSubmission">
Les entrées de fichier permettent aux utilisateurs de sélectionner un fichier dans leur système de fichiers local pour l'utiliser avec la page en cours. S'ils sont utilisés avec un élément de form
, ils peuvent être utilisés pour permettre aux utilisateurs de télécharger des fichiers sur un serveur (pour plus d'informations, voir Téléchargement de fichiers ).
L'exemple suivant permet aux utilisateurs d'utiliser l'entrée de file
pour sélectionner un fichier dans leur système de fichiers et télécharger ce fichier sur un script sur le serveur nommé upload_file.php
.
<form action="upload_file.php" method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="fileSubmission" id="fileSubmission">
<input type="submit" value="Upload your file" name="submit">
</form>
Plusieurs fichiers
L'ajout de l'attribut multiple
permettra à l'utilisateur de sélectionner plusieurs fichiers:
<input type="file" name="fileSubmission" id="fileSubmission" multiple>
Accepter les fichiers
L'attribut d'acceptation spécifie les types de fichiers que l'utilisateur peut sélectionner. Par exemple, .png
, .gif
, .jpeg
.
<input type="file" name="fileSubmission" accept="image/x-png,image/gif,image/jpeg" />
Validation des entrées
La validation des entrées HTML est effectuée automatiquement par le navigateur en fonction des attributs spéciaux de l'élément d'entrée. Il pourrait remplacer partiellement ou complètement la validation des entrées JavaScript. Ce type de validation peut être contourné par l'utilisateur via des requêtes HTTP spécialement conçues pour ne pas remplacer la validation des entrées côté serveur. La validation ne se produit que lorsque vous tentez de soumettre le formulaire. Par conséquent, toutes les entrées restreintes doivent se trouver dans un formulaire pour que la validation ait lieu (sauf si vous utilisez JavaScript). Gardez à l'esprit que les entrées désactivées ou en lecture seule ne déclencheront pas de validation.
Certains nouveaux types de saisie (tels que la email
, l' url
, le tel
, la date
et bien d'autres) sont automatiquement validés et ne nécessitent pas vos propres contraintes de validation.
Champs obligatoires
Utilisez l'attribut required
pour indiquer qu'un champ doit être rempli afin de réussir la validation.
<input required>
Longueur minimum / maximum
Utilisez les minlength
et maxlength
pour indiquer les exigences de longueur. La plupart des navigateurs empêcher l'utilisateur de taper plus de caractères max dans la boîte, les empêchant de faire leur entrée invalide même avant de tenter la soumission.
<input minlength="3">
<input maxlength="15">
<input minlength="3" maxlength="15">
Spécifier une plage
Utiliser les attributs min
et max
pour restreindre la plage de nombres qu'un utilisateur peut saisir dans une entrée de type number
ou range
Marks: <input type="number" size="6" name="marks" min="0" max="100" />
Subject Feedback: <input type="range" size="2" name="feedback" min="1" max="5" />
Faire correspondre un motif
Pour plus de contrôle, utilisez l'attribut pattern
pour spécifier toute expression régulière qui doit être mise en correspondance afin de réussir la validation. Vous pouvez également spécifier un title
, qui est inclus dans le message de validation si le champ ne passe pas.
<input pattern="\d*" title="Numbers only, please.">
Voici le message affiché dans Google Chrome version 51 lors de la tentative de soumission du formulaire avec une valeur non valide dans ce champ:
Tous les navigateurs n'affichent pas de message pour les modèles non valides, bien qu'il existe un support complet parmi les navigateurs modernes les plus utilisés.
Vérifiez le dernier support sur CanIUse et implémentez-le en conséquence.
Accepter le type de fichier
Pour les champs d'entrée de type file
, il est possible d'accepter uniquement certains types de fichiers, tels que les vidéos, les images, les audios, les extensions de fichiers spécifiques ou certains types de supports . Par exemple:
<input type="file" accept="image/*" title="Only images are allowed">
Plusieurs valeurs peuvent être spécifiées avec une virgule, par exemple:
<input type="file" accept="image/*,.rar,application/zip">
Remarque: L' novalidate
attribut novalidate
à l'élément de form
ou à l'attribut formnovalidate
au bouton d' formnovalidate
empêche la validation sur les éléments de formulaire. Par exemple:
<form>
<input type="text" name="name" required>
<input type="email" name="email" required>
<input pattern="\d*" name="number" required>
<input type="submit" value="Publish"> <!-- form will be validated -->
<input type="submit" value="Save" formnovalidate> <!-- form will NOT be validated -->
</form>
Le formulaire comporte des champs requis pour "publier" le brouillon mais n'est pas requis pour "enregistrer" le brouillon.
Réinitialiser
<input type="reset" value="Reset">
Une entrée de type reset
crée un bouton qui, une fois cliqué, réinitialise toutes les entrées sous sa forme d'origine.
- Le texte d'un champ de saisie sera réinitialisé ou sa valeur par défaut (spécifiée à l'aide de l'attribut
value
). - Toute option dans un menu de sélection sera désélectionnée sauf si elle possède l'attribut
selected
. - Toutes les cases à cocher et les cases radio seront désélectionnées, sauf si elles possèdent l'attribut
checked
.
Remarque: Un bouton de réinitialisation doit être situé à l'intérieur ou attaché (via l'attribut de form
) à un élément <form>
pour avoir un effet. Le bouton ne réinitialisera que les éléments de ce formulaire.
Nombre
<input type="number" value="0" name="quantity">
L'élément Input avec un attribut type dont la valeur est number
représente un contrôle précis pour définir la valeur de l'élément sur une chaîne représentant un nombre.
Veuillez noter que ce champ ne garantit pas d'avoir un numéro correct. Il ne permet que tous les symboles pouvant être utilisés dans un nombre réel, par exemple l'utilisateur pourra entrer une valeur comme e1e-,0
.
Tel
<input type="tel" value="+8400000000">
L'élément input avec un attribut type dont la valeur est tel
représente un contrôle d'édition de texte en clair sur une ligne pour la saisie d'un numéro de téléphone.
Le <input type="email">
est utilisé pour les champs de saisie qui doivent contenir une adresse électronique.
<form>
<label>E-mail: <label>
<input type="email" name="email">
</form>
L'adresse e-mail peut être automatiquement validée lorsqu'elle est soumise en fonction de la prise en charge du navigateur.
Bouton
<input type="button" value="Button Text">
Les boutons peuvent être utilisés pour déclencher des actions sur la page sans soumettre le formulaire. Vous pouvez également utiliser l'élément <button>
si vous avez besoin d'un bouton pouvant être plus facilement stylé ou contenant d'autres éléments:
<button type="button">Button Text</button>
Les boutons sont généralement utilisés avec un événement "onclick":
<input type="button" onclick="alert('hello world!')" value="Click Me">
ou
<button type="button" onclick="alert('hello world!')">Click Me</button>
Les attributs
[name]
Le name
du bouton, qui est soumis avec les données du formulaire.
[type]
Le type
du bouton.
Les valeurs possibles sont:
submit
: le bouton envoie les données du formulaire au serveur. C'est la valeur par défaut si l'attribut n'est pas spécifié ou si l'attribut est modifié dynamiquement en une valeur vide ou non valide.
reset
: le bouton réinitialise toutes les commandes à leurs valeurs initiales.
button
: le bouton n'a pas de comportement par défaut. Des scripts côté client peuvent être associés aux événements de l'élément, qui sont déclenchés lorsque les événements se produisent.
menu
: Le bouton ouvre un menu contextuel défini via son élément désigné.
[value]
La valeur initiale du bouton.
Attributs supplémentaires pour les boutons de soumission
Attribut | La description |
---|---|
form | Spécifie l'ID du formulaire auquel le bouton appartient. Si aucun n'est spécifié, il appartiendra à son élément de formulaire ancêtre (s'il en existe un). |
formaction | Spécifie où envoyer les données de formulaire lorsque le formulaire est soumis en utilisant ce bouton. |
formenctype | Spécifie comment les données de formulaire doivent être encodées lors de la soumission au serveur en utilisant ce bouton. Ne peut être utilisé qu'avec formmethod="post" . |
formmethod | Spécifie la méthode HTTP à utiliser (POST ou GET) lors de l'envoi de données de formulaire à l'aide de ce bouton. |
formnovalidate | Indique que les données de formulaire ne doivent pas être validées lors de la soumission. |
formtarget | Spécifie où afficher la réponse reçue après avoir soumis le formulaire en utilisant ce bouton. |
Couleur
<input type="color" name="favcolor" value="#ff0000">
Dans les navigateurs prenant en charge, l'élément input avec un attribut type dont la valeur est color
crée un contrôle de type bouton, avec une couleur égale à la valeur de l'attribut color
(par défaut noir si la valeur n'est pas spécifiée ou est un format hexadécimal invalide).
En cliquant sur ce bouton, vous ouvrez le widget couleur du système d'exploitation, qui permet à l'utilisateur de sélectionner une couleur.
Le repli pour les navigateurs qui ne supportent pas ce type d’entrée est un type=text
entrée standard type=text
.
URL
<input type="url" name="Homepage">
Ceci est utilisé pour les champs de saisie qui doivent contenir une adresse URL.
Selon la prise en charge du navigateur, le champ url
peut être automatiquement validé lors de la soumission.
Certains smartphones reconnaissent le type d' url
et ajoutent ".com" au clavier pour correspondre à l'entrée d'URL.
Rendez-vous amoureux
<input type="date" />
Un sélecteur de date apparaîtra à l'écran pour vous permettre de choisir une date. Ceci n'est pas pris en charge dans Firefox ou Internet Explorer.
DateTime-Local
<input type="datetime-local" />
En fonction de la prise en charge du navigateur, un sélecteur de date et d’heure apparaîtra à l’écran pour que vous choisissiez une date et une heure.
Image
<input type="image" src="img.png" alt="image_name" height="50px" width="50px"/>
Une image. Vous devez utiliser l'attribut src pour définir la source de l'image et l'attribut alt pour définir un autre texte. Vous pouvez utiliser les attributs height et width pour définir la taille de l'image en pixels.
Gamme
<input type="range" min="" max="" step="" />
Un contrôle pour entrer un nombre dont la valeur exacte n'est pas importante.
Attribut | La description | Valeur par défaut |
---|---|---|
min | Valeur minimum pour la gamme | 0 |
max | Valeur maximale pour la plage | 100 |
étape | Montant à augmenter de chaque incrément. | 1 |
Mois
<input type="month" />
En fonction de la prise en charge du navigateur, un contrôle apparaîtra pour choisir le mois.
Temps
<input type="time" />
L'entrée de time
marque cet élément comme acceptant une chaîne représentant une heure. Le format est défini dans la RFC 3339 et devrait être un temps partiel tel que
19:04:39
08:20:39.04
Actuellement, toutes les versions de Edge, Chrome, Opera et Chrome pour Android prennent en charge le type = "time". Les nouvelles versions du navigateur Android, en particulier 4.4 et plus, le supportent. Safari pour iOS offre une prise en charge partielle, ne prenant pas en charge les attributs min, max et step.
La semaine
<input type="week" />
En fonction de la prise en charge du navigateur, un contrôle affichera pour entrer un numéro de semaine et un numéro de semaine sans fuseau horaire.
Texte
Le type d'entrée le plus basique et l'entrée par défaut si aucun type
n'est spécifié. Ce type d'entrée définit un champ de texte à une seule ligne avec des sauts de ligne automatiquement supprimés de la valeur d'entrée. Tous les autres caractères peuvent être entrés dans ceci. <input>
éléments <input>
sont utilisés dans un élément <form>
pour déclarer des contrôles d'entrée permettant aux utilisateurs d'entrer des données.
Syntaxe
<input type="text">
ou (sans spécifier de type
, en utilisant l'attribut default):
<input>
La largeur par défaut d'une entrée de champ de texte est de 20 caractères. Cela peut être modifié en spécifiant une valeur pour l'attribut size
comme ceci:
<input type="text" size="50">
L'attribut size
est nettement différent de la définition d'une largeur avec CSS. L'utilisation d'une largeur définit une valeur spécifique (en nombre de pixels, en pourcentage de l'élément parent, etc.) selon laquelle l'entrée doit toujours être large. L'utilisation de la size
calcule la largeur à allouer en fonction de la police utilisée et de la largeur des caractères.
Remarque: L' utilisation de l'attribut size
ne limite pas intrinsèquement le nombre de caractères pouvant être saisis dans la boîte, mais uniquement la largeur d'affichage de la boîte. Pour limiter la longueur, voir Validation en entrée .
Un champ de saisie n'autorise qu'une ligne de texte. Si vous avez besoin d'une entrée de texte multiligne pour une quantité substantielle de texte, utilisez plutôt un élément <textarea>
.
Chercher
La recherche de type d'entrée est utilisée pour la recherche textuelle. Il ajoutera un symbole de loupe à côté de l'espace pour le texte sur la plupart des navigateurs.
<input type="search" name="googlesearch">
DateTime (Global)
L'élément input avec un attribut type dont la valeur est " datetime " représente un contrôle permettant de définir la valeur de l'élément sur une chaîne représentant une date et une heure globales (avec des informations de fuseau horaire).
<fieldset>
<p><label>Meeting time: <input type=datetime name="meeting.start"></label>
</fieldset>
Attributs autorisés:
- attributs globaux
- prénom
- désactivée
- forme
- type
- autocomplete
- autofocus
- liste
- min max
- step (float)
- lecture seulement
- valeur requise