L'élément HTML <input> est utilisé pour créer un contrôle interactif dans un formulaire web qui permet à l'utilisateur de saisir des données. Les saisies possibles et le comportement de l'élément <input> dépend fortement de la valeur indiquée dans son attribut type.
| Catégories de contenu | Contenu de flux, contenu de formulaire (listé, envoyable, réinitialisable), contenu phrasé. Si l'attribut type ne vaut pas hidden, c'est un élément étiquetable et tangible. |
|---|---|
| Contenu autorisé | Aucun, cet élément est un élément vide. |
| Omission de balises | Cet élément doit avoir une balise de début et ne pas avoir de balise de fin. |
| Parents autorisés | Tout élément qui accepte du contenu phrasé. |
| Rôles ARIA autorisés |
|
| Interface DOM | HTMLInputElement |
Attributs
À l'instar des autres éléments HTML, cet élément inclut les attributs universels.
type- Le type du contrôle de saisie. La valeur par défaut, utilisée lorsqu'aucune valeur n'est fournie est
text.button: un bouton sans comportement par défaut.checkbox: une case à cocher. L'attributvaluedoit être utilisé pour définir la valeur correspondante à l'élément. L'attributcheckedest utilisé pour indiquer que l'élément est sélectionné. L'attributindeterminatepeut également être utilisé afin d'indiquer que la case à cocher est dans un état indéterminé (sur la plupart des plateforms, la case sera représentée avec une ligne horizontale).color: HTML5 un contrôle permettant de choisir une couleur. L'interface utilisateur a pour seule contrainte de renvoyer la couleur exprimée sous la forme d'un texte (plus de détails).date: HTML5 un contrôle qui permet de saisir une date (sans heure).datetime: HTML5 un contrôle qui permet de saisir une date et une heure selon le fuseau horaire UTC. Cette fonctionnalité a été retirée du WHATWG HTML.datetime-local: HTML5 un contrôle qui permet de saisir une date et une heure, sans fuseau horaire associé.email: HTML5 un champ qui permet d'éditer une adresse email. La valeur saisie est validée lorsqu'elle contient la chaîne vide ou une adresse email valide. Les pseudo-classes CSS:validet:invalidsont appliquées lorsque c'est nécessaire.file: un contrôle qui permet à l'utilisateur de sélectionner un fichier. L'attributacceptpeut être utilisé pour définir les types de fichier que le contrôle permet de sélectionner.hidden: un contrôle qui n'est pas affiché mais dont la valeur est envoyée au serveur.image: un bouton d'envoi avec une image. L'attributsrcdoit être utilisé pour définir la source de l'image et l'attributaltdoit être utilisé afin de fournir un texte alternatif. Les attributsheightetwidthpeuvent être utilisés afin de définir les dimensions de l'image en pixels.month: HTML5 un contrôle qui permet de saisir un mois et une année, sans fuseau horaire.number: HTML5 un contrôle qui permet de saisir un nombre décimal.password: un champ de saisie sur une seule ligne dont la valeur est masquée. Ce champ est destiné à la saisie d'un mot de passe. L'attributmaxlengthpeut être utilisé afin de définir la longueur maximale de la valeur qui peut être saisie.Note : Les formulaires utilisés pour manipuler des informations sensibles (telles que des mots de passes et autres informations de connexion) doivent être servis via HTTPS. Firefox implémente désormais différents mécanismes pour prévenir les utilisateurs lorsqu'ils utilisent des formulaires non-sécurisés (cf. cet article sur la sécurité des mots de passe). Les autres navigateurs implémentent également des mesures similaires.radio: un bouton radio. L'attributvaluedoit alors être utilisé pour définir la valeur associé à cet élément. L'attributcheckedpeut être employé afin d'indiquer que l'élément est sélectionné par défaut. Si plusieurs boutons radio ont le même attributname, ils appartiendront au même groupe. Pour un groupe donné, seul un bouton radio peut être sélectionné à un instant donné.range: HTML5 un contrôle qui permet de saisir un nombre dont la valeur exacte n'est pas importante. Ce type de contrôle utilise les valeurs par défaut suivantes lorsque les attributs correspondants ne sont pas définis :min: 0max: 100value:min+ (max -min) / 2, ouminsimaxest inférieur àminstep: 1
reset: un bouton qui permet de réinitialiser le contenu des éléments du formulaire avec leurs valeurs par défaut.search: HTML5 un champ de texte sur une seule ligne qui permet de saisir des requêtes de recherche. Les sauts de ligne sont automatiquement supprimés de la valeur saisie.submit: un bouton qui envoie le formulaire.tel: HTML5 un contrôle qui permet de saisir un numéro de téléphone. Les sauts de ligne sont automatiquement supprimés de la valeur saisie, il n'y a pas d'autre règle de validation syntaxique automatique. Les attributspatternetmaxlengthpeuvent être utilisés afin de restreindre les valeurs qui peuvent être saisies dans le contrôle. Les pseudo-classes CSS:validet:invalidseront alors appliquées selon les cas de figure.text: un champ de texte sur une seule ligne. Les sauts de ligne sont automatiquement retirés de la valeur saisie.time: HTML5 un contrôle qui permet de saisir une valeur pour une heure, sans fuseau horaire associé.url: HTML5 un champ qui permet d'éditer une URL. La valeur saisie est valide si c'est la chaîne de caractères vide ou si c'est une URL absolue valide. Les attributspatternetmaxlengthpeuvent être utilisés afin de restreindre les valeurs qui peuvent être saisies. Les pseudo-classes CSS:validet:invalidseront alors appliquées selon les cas de figure.week: HTML5 un contrôle qui permet de saisir une semaine sous la forme d'un numéro de semaine, sans fuseau horaire associé.
accept- Si l'attribut
typevautfile, cet attribut indiquera les types de fichier acceptés par le serveur (pour les autres types, cet attribut sera ignoré). La valeur de cet attribut est une liste de descripteurs de format uniques, séparés par des virgules. Un descripteur de format peut prendre l'une de ces formes :- Une extension de fichier précédée d'un point (plus précisément le caractère STOP character (U+002E)), par exemple : .jpg, .png, .doc
- Un type MIME valide sans extension
audio/*qui permet de représenter les fichiers audio HTML5video/*qui permet de représenter les fichiers vidéo HTML5image/*qui permet de représenter les fichiers image HTML5
mozactionhint- Cet attribut permet de définir une indication pour l'action effectuée lorsque l'utilisateur appuie sur la touche entrée. Le libellé de l'action choisie est alors affiché sur la touche Entrée des claviers virtuels. Les valeurs possibles pour cet attribut sont
go,done,next,searchetsend. autocapitalize- Cet attribut non-standard, pris en charge par Chrome et Safari Mobile sur iOS permet de contrôler la façon dont le texte doit être mis en majuscules lorsqu'il est saisi par l'utilisateur. Les valeurs autorisées pour cet attribut sont :
none: la mise en majuscules automatique est désactivéesentences: la première lettre de chaque phrase est automatiquement mise en majusculewords: la première lettre de chaque mot est automatiquement mise en majusculecharacters: tous les caractères sont automatiquement convertis en majusculeson: cette valeur est dépréciée depuis iOS 5 et était synonyme desentencesoff: cette valeur est dépréciée depuis iOS 5 et était synonyme denone.
autocapitalizede laréférence HTML Safari. autocompleteHTML5- Cet attribut permet d'indiquer si la valeur saisie doit automatiquement être complétée par le navigateur. Les valeurs possibles pour cet attribut sont :
off: aucune auto-complétion n'est effectuée par le navigateur. L'utilisateur doit saisir le champ à chaque utilisation ou le document doit fournir sa propre méthode d'auto-complétion.on: le navigateur peut compléter automatiquement la valeur saisie par l'utilisateur en fonction des valeurs précédemment saisies, toutefois, aucune information n'est fournie quant au type de donnée qui pourrait être saisie.name: un nom complethonorific-prefix:un préfixe ou un titre (« M. », « Mme. », « Dr. »).given-name: un prénomadditional-name: un deuxième prénomfamily-name: un nom de famillehonorific-suffix: Suffix (e.g. "Jr.", "B.Sc.", "MBASW", "II").nickname: un surnom ou un pseudonymeemail: une adresse électroniqueusername: un nom d'utilisateurnew-password: un nouveau mot de passe (par exemple lorsqu'on crée un compte ou qu'on change un mot de passe).current-password: un mot de passe actuelorganization-title: un poste (par exemple « Ingénieur », « Président directeur »).organization: un nom pour une entreprise ou une organisationstreet-address: le numéro d'une adresseaddress-line1,address-line2,address-line3,address-level4,address-level3,address-level2,address-level1: les détails de l'adressecountry: un payscountry-name: un nom de payspostal-code: un code postalcc-name: un nom complet, tel qu'indiqué sur un moyen de paiementcc-given-name: un nom usuel, tel qu'indiqué sur un moyen de paiementcc-additional-name: un nom complémentaire, tel qu'indiqué sur un moyen de paiementcc-family-name: un nom de famille, tel qu'indiqué sur un moyen de paiementcc-number: un code identifiant le moyen de paiement (le numéro d'une carte de crédit par exemple)cc-exp:la date d'expiration du moyen de paiementcc-exp-month: le mois d'expiration du moyen de paiementcc-exp-year: l'année d'expiration du moyen de paiementcc-csc: le code de sécurité du moyen de paiementcc-type: le type de moyen de paiement (par exemple « Visa »).transaction-currency: la devise dans laquelle est effectuée la transactiontransaction-amount: le montant de la transactionlanguage: la langue privilégiée, ce doit être une balise de langue BCP 47 validebday: une date d'anniversairebday-day: le jour d'une date d'anniversairebday-month: le mois d'une date d'anniversairebday-year: l'année d'une date d'anniversairesex: une identité de genre, un texte libre sans saut de lignetelurl: l'URL d'une page web correspondant à l'entreprise, la personne, l'adresse ou le contact auquel les informations saisies font référencephoto: une photographie, une icône ou une image qui correspond à l'entreprise, la personne, l'adresse ou le contact auquel les informations saisies font référence.
Pour plus de détails, consulter le standard WHATWG.
Si l'attribut
autocompleten'est pas défini pour l'élément<input>, la valeur utilisée sera celle de l'attributautocompletedu formulaire associé (voir l'attributform)À la différence des autres navigateurs, pour Firefox, l'attribut
autocompletepermet également de gérer la persistance d'un état désactivé et/ou de la sélection obtenu dynamiquement via un script d'un élément<input>lors d'un rechargement de la page. La persistance est activée par défaut, on peut la désactiver en utilisant la valeuroffpourautocomplete. Cela fonctionne y compris lorsque l'attributautocompletene devrait pas s'appliquer vu letypeutilisé. Cf. bug 654072.Pour la plupart des navigateurs modernes (Firefox 38+, Google Chrome 34+, IE 11+), utiliser l'attribut
autocompleten'empêchera pas le gestionnaire de mot de passe du navigateur de demander à l'utilisateur s'il souhaite enregistrer les informations de connexion saisies et de compléter automatiquement les informations de connexion la prochaine fois que l'utilisateur visite la page. Voir l'article sur l'attributautocompleteet les champs de connexion. autocorrect- Cet attribut non-standard, uniquement pris en charge par Safari, permet de contrôler s'il doit y avoir une correction automatique de l'élément lorsque l'utilisateur saisit du texte dans l'élément
<input>. Cet attribut peut prendre les valeurs suivantes :on: la correction automatique est activée.off: la correction automatique est désactivée.
autocorrectdans la référence HTML Safari. Voir également l'attributspellcheck. autofocusHTML5- Cet attribut booléen permet d'indiquer que l'élément doit recevoir le focus au chargement de la page. Seul un élément d'un formulaire du document peut avoir l'attribut
autofocusactif. Cet attribut ne peut pas être appliqué sitypevauthidden. La mise du focus peut avoir lieu avant que l'évènementDOMContentLoadedsoit déclenché. capture-
Lorsque l'attribut
typevautfile, la présence de cet attribut booléen indique qu'il faut, si possible, utiliser un périphérique de capture de l'appareil plutôt qu'un explorateur de fichier. checked-
Lorsque l'attribut
typevautradiooucheckbox, la présence de cet attribut booléen indique que le contrôle doit être sélectionné par défaut. Pour les autres types, cet attribut est ignoré.À la différence des autres navigateurs, par défaut, Firefox conservera un état coché défini de façon dynamique lors d'un rechargement de la page
<input>. L'attributautocompletepeut être utilisé pour contrôler cette fonctionnalité. disabled-
Cet attribut booléen indique que le contrôle est désactivé et qu'aucune interaction n'est possible. L'évènement
clickne sera pas propagé sur les contrôles désactivés et la valeur d'un contrôle désactivé n'est pas envoyée avec le formulaire.À la différence des autres navigateurs, par défaut, Firefox conservera un état désactivé défini de façon dynamique lors d'un rechargement de la page. L'attribut
autocompletepeut être utilisé pour contrôler cette fonctionnalité. formHTML5- L'élément de formulaire auquel l'élément
<input>est rattaché. La valeur de cet attribut doit être l'identifiant (la valeur de l'attributid) d'un élément<form>du même document. Si cet attribut n'est pas défini, l'élément<input>doit être un descendant d'un élément<form>. Cet attribut permet de placer un élément<input>n'importe où et pas uniquement comme descendant d'un formulaire. Un élément<input>donné ne peut être associé qu'à un seul formulaire. formactionHTML5- L'URI du programme qui traite l'information transmise par l'élément
<input>si celui-ci est un bouton d'envoi ou une image. Si cet attribut est utilisé, sa valeur surcharge celle de l'attributactiondu formulaire associé. formenctypeHTML5- Si l'élément
<input>est un bouton d'envoi ou une image, cet attribut définit le type de contenu utilisé pour envoyer le formulaire au serveur. Les valeurs possibles pour cet attribut sont :application/x-www-form-urlencoded: la valeur par défaut si l'attribut n'est pas défini.multipart/form-data: cette valeur doit être utilisée lorsque l'attributtypevautfile.text/plain
Si cet attribut est utilisé, sa valeur surcharge celle de l'attribut
enctypedu formulaire associé. formmethodHTML5- Si l'élément
<input>est un bouton d'envoi ou une image, cet attribut définit la méthode HTTP utilisée par le navigateur pour transmettre le formulaire. Les valeurs possibles :post: les données du formulaire sont incluses dans le corps du formulaire et sont envoyées au serveur.get: les données du formulaire sont ajoutées après l'URI de l'attributform, séparées par des points d'interrogation. L'URI ainsi obtenue est envoyée au serveur. Cette méthode doit uniquement être utilisée lorsque le formulaire n'a aucun effet de bord et qu'il ne contient que des caractères ASCII.
Si cet attribut est utilisé, sa valeur surcharge celle de l'attribut
methoddu formulaire associé. formnovalidateHTML5- Si l'élément
<input>est un bouton d'envoi ou une image, cet attribut booléen indique que le formulaire ne doit pas être validé avant l'envoi. Si cet attribut est utilisé, sa valeur surcharge celle de l'attributnovalidatedu formulaire associé. formtargetHTML5- Si l'élément
<input>est un bouton d'envoi ou une image, cet attribut est le nom ou le mot-clé correspondant au contexte de navigation (l'onglet, la fenêtre ou l'iframe) où afficher la réponse reçue après l'envoi du formulaire. Si cet attribut est utilisé, sa valeur surcharge celle de l'attributtargetdu formulaire associé. Les mots-clés suivants ont un sens particulier :- _
self: la réponse est chargée dans le même contexte de navigation. Cette valeur est la valeur par défaut si l'attribut n'est pas défini. _blank: la réponse est chargée dans un nouveau contexte de navigation anonyme._parent: la réponse est chargée dans le contexte de navigation parent du contexte courant. Si le contexte courant n'a pas de parent, cette option est synonyme de_self._top: la réponse est chargée dans le contexte de navigation de plus haut niveau (c'est-à-dire le contexte de navigation qui est un ancêtre du contexte courant et qui n'a pas de parent). Si le contexte courant n'a pas de parent, cette option est synonyme de_self.
- _
heightHTML5- Si la valeur de l'attribut
typevautimage, cet attribut définit la hauteur de l'image affichée sur le bouton. incremental- Cet attribut non-standard est pris en charge par WebKit (Safari) et Blink (Chrome) et s'applique uniquement lorsque l'attribut
typevautsearch. Si cet attribut est présent, quelle que soit sa valeur, l'élément<input>déclenchera des évènementssearchlorsque l'utilisateur édite la valeur du texte. L'évènement est uniquement déclenché après un certain délai, propre à l'implémentation. Une nouvelle frappe de touche réinitialise le délai. Si cet attribut est absent, l'évènementsearchest uniquement déclenché après que l'utilisateur ait explicitement lancé une recherche (par exemple en appuyant sur la touche Entrée). Pour d'autres informations, consulter la documentation surincrementaldans la référence HTML Safari. inputmodeHTML5- Une indication destinée au navigateur pour le clavier qui doit être affiché. Cet attribut s'applique uniquement lorsque l'attribut
typevauttext,password,email, ouurl. Les valeurs possibles pour cet attribut sont :verbatim: un clavier alphanumérique pour les textes hors prose comme les noms d'utilisateur et les mots de passe.latin: un clavier pour les langues utilisant l'alphabet latin et avec des aides à la saisie (comme la prédiction des termes). Ce clavier est destiné aux textes pour les interactions homme-ordinateur (les champs de recherche par exemple).latin-name: semblable à latin mais pour la saisie de noms propres.latin-prose: semblable à latin mais avec une aide à la saisie plus importante. Ce clavier est destiné aux textes pour les communications humaines.full-width-latin: similaire à latin-prose, mais pour les langues secondaires de l'utilisateur.kana: un clavier pour la saisie de caractères kana ou romaji (généralement des caractères hiragana) qui prend en charge la conversion en kanji. Ce clavier est conçu pour saisir des textes en japonais.katakana: un clavier pour la saisie de caractères Katakana qui prend en charge la conversion en kanji. Ce clavier est conçu pour saisir des textes en japonais.numeric: un clavier numérique qui contient des touches pour les chiffres 0 à 9, une touche pour le caractères qui permet de séparer les milliers et un caractère pour indiquer les nombres négatifs. Ce clavier est destiné à la saisie de codes numériques (par exemple le numéro d'une carte de crédit), pour saisir des nombres, on privilégiera<input type="number">.tel: un clavier téléphonique, qui contient une astérisque et le dièse. Si possible, on utilisera <input type="tel"> plutôt que cette valeur d'attribut.email: un clavier destiné à la saisie d'une adresse électronique. Si possible, on utilisera<input type="email">plutôt que cette valeur d'attribut.url: un clavier destiné à la saisie d'URL. Si possible, on privilégiera<input type="url">à cet attribut.
listHTML5- Cet attribut est une liste d'options prédéfinies, suggérées à l'utilisateur. La valeur de cet attribut est l'identifiant (la valeur de l'attribut
id) d'un élément<datalist>du même document. Le navigateur n'affiche que les options qui sont valides pour cet élément<input>. Cet attribut est ignoré lorsque l'attributtypevauthidden,checkbox,radio,fileou que c'est un type de bouton. maxHTML5- La valeur maximale (numérique ou temporelle) de l'élément. Cette valeur ne doit pas être inférieure à l'attribut
min. maxlength- Lorsque l'attribut
typevauttext,email,search,password,telouurl, cet attribut définit le nombre maximal de caractères (exprimé en points de code Unicode) que l'utilisateur peut saisir. Pour les autres types de contrôle, cet attribut est ignoré. Cet attribut peut être supérieur à l'attributsize. Si cet attribut est absent ou que la valeur est négative, l'utilisateur peut saisir un nombre illimité de caractères. La contrainte est évaluée uniquement lorsque l'attribut a été modifié. minHTML5- La valeur minimale (numérique ou temporelle) de l'élément. Cette valeur ne doit pas être supérieure à l'attribut
max. minlengthHTML5- Lorsque l'attribut
typevauttext,email,search,password,telouurl, cet attribut définit le nombre minimal de caractères (exprimé en points de code Unicode) que l'utilisateur doit saisir. Pour les autres types de contrôle, cet attribut est ignoré. multipleHTML5- Cet attribut booléen indique que l'utilisateur peut saisir plus d'une valeur. Cet attribut est appliqué lorsque
typevautemailoufile, sinon, il est ignoré. name- Le nom du contrôle, envoyé avec les données lors de l'envoi du formulaire.
patternHTML5- Une expression rationnelle qui permet de vérifier la valeur saisie. L'expression doit correspondre à la valeur entière. L'attribut
titlepeut être utilisé pour décrire le motif et aider l'utilisateur. Cet attribut est appliqué lorsquetypevauttext,search,tel,url,emailoupassword, dans les autres cas, il est ignoré. Le langage d'expression rationnelle est le même que celui utilisé en JavaScript (cf.RegExp) et le paramètre'u'permet de traiter l'expression comme une suite de codets Unicode. L'expression utilisée n'est pas entourée de barres obliques (slash). placeholderHTML5- Une indication, destinée à l'utilisateur, pour ce qui peut être saisi dans le contrôle. Le texte de cet attribut ne doit pas contenir de saut de ligne.
readonlyHTML5- Cet attribut indique que l'utilisateur ne peut pas modifier la valeur du contrôle. La valeur de cet attribut est ignorée lorsque l'attribut
typevauthidden,range,color,checkbox,radio,file,buttonousubmit. requiredHTML5- Cet attribut indique que la valeur doit être renseignée avant que l'utilisateur puisse envoyer le formulaire. Il ne peut pas être utilisé lorsque l'attribut
typevauthidden,imageou est un bouton (submit,reset,button). Les pseudo-classes CSS:optionalet:requiredseront appliquées si nécessaire. results- Cet attribut non-standard est uniquement pris en charge par Safari et s'applique lorsque l'attribut type vaut
search. Il est utilisé afin de contrôler le nombre maximal d'éléments (les recherches effectuées précédemment) qui devraient être affichés dans la liste déroulante de l'élément<input>. La valeur de cet attribut doit être un nombre entier positif. selectionDirectionHTML5- La direction dans laquelle la sélection est effectuée. Lorsque l'attribut vaut
"forward", la sélection est appliquée dans le sens d'écriture (qui peut varier selon la locale), s'il vaut"backward", la sélection est appliquée dans le sens inverse du sens d'écriture. Si la direction de la sélection est inconnue, l'attribut peut prendre la valeur"none". selectionEnd- Le décalage entre le contenu de l'élément et le dernier caractère sélectionné. S'il n'y a aucune sélection, la valeur indique la position du caractère qui suit le curseur de saisie.
selectionStart- Le décalage entre le contenu de l'élément et le premier caractère sélectionné. S'il n'y a aucune sélection, la valeur indique la position du caractère qui suit le curseur de saisie.
size- La taille initiale du contrôle. Cette valeur est exprimée en pixels, sauf lorsque l'attribut
typevauttextoupassword, auquel cas, la valeur correspond au nombre de caractères. À partir de HTML5, cet attribut ne s'applique que si l'attributtypevauttext,search,tel,url,emailoupassword, sinon il est ignoré. La valeur desizedoit être supérieure à zéro. Si aucune taille n'est indiquée, c'est 20 qui est utilisé par défaut. spellcheckHTML5- Cet attribut permet de gérer la vérification orthographique et grammaticale du contenu. Lorsqu'il vaut
true, la vérification est activée. S'il vautdefault, c'est le comportement par défaut qui s'applique, éventuellement dicté par la valeur de l'attributspellcheckde l'élément parent. S'il vautfalse, l'orthographe et la grammaire de la valeur ne doivent pas être vérifiées. src- Si la valeur de l'attribut
typevautimage, cet attribut indique l'URI de l'emplacement de l'image à afficher sur le bouton. Dans les autres cas, cet attribut est ignoré. stepHTML5- Cet attribut fonctionne avec les attributs
minetmaxet permet de définir l'incrément utilisé pour passer d'une valeur à l'autre (dans le cas d'une valeur numérique ou d'une date). Cet attribut peut valoir la chaîne de caractèresanyou un nombre décimal positif. Si la valeur de cet attribut est différente deany, le contrôle acceptera uniquement les valeurs qui sont des multiples de l'incrément et qui sont supérieures au minimum fourni parmin. usemapHTML 4 uniquement, Obsolète depuis HTML5- Le nom d'un élément
<map>à utiliser comme une carte cliquable. value- La valeur initiale du contrôle. Cet attribut est optionnel sauf lorsque l'attribut
typevautradiooucheckbox.
Lors du rechargement de la page, Gecko et IE ignoreront la valeur définie dans le fichier source HTML si la valeur a été modifiée avant le rechargement. webkitdirectory- Cet attribut booléen permet d'indiquer que le sélecteur de fichier, lorsque l'attribut
typevautfile, permet uniquement de sélectionner des répertoires. widthHTML5- Si la valeur de l'attribut
typeestimage, cet attribut définit la largeur de l'image affichée dans le bouton de saisie. x-moz-errormessage- Un attribut spécifique à Mozilla qui permet d'indiquer un message d'erreur à afficher lorsque le champ ne respecte pas les conditions de validation.
Notes
Utilisation des fichiers
Note : À partir de Gecko 2.0, lorsqu'on appelle la méthode click() sur un élément <input> de type "file", cela ouvre le sélecteur de fichier que l'utilisateur peut utiliser pour sélectionner des fichiers. Voir la page Utiliser des fichiers à partir d'applications web pour un exemple et plus de détails.
On ne peut pas définir la valeur d'un sélecteur de fichiers via un script. Le script qui suit n'aurait aucun effet :
var e = getElementById("unInputFile");
e.value = "toto";
Lorsqu'un fichier est choisi via <input type="file">, le chemin réel qui mène au fichier source n'est pas communiqué à l'attribut value (pour des raisons de sécurité évidentes). Le nom de fichier est communiqué et préfixé par C:\fakepath\. Il y a certaines raisons historiques à ce préfixe qui est en fait pris en charge par l'ensemble des navigateurs modernes. Ce préfixe est également défini dans la spécification.
Messages d'erreur
Si on souhaite avoir un message d'erreur personnalisé lors d'un échec de validation, dans Firefox, on pourra utiliser l'attribut x-moz-errormessage :
<input type="email" x-moz-errormessage="Please specify a valid email address.">
Attention, cette méthode n'est pas standard et cela n'aura aucun effet sur les autres navigateurs.
Exemples
Exemple simple
HTML
<p>Un élément de saisie simple </p> <input type="text" value="Saisir un texte ici">
Résultat
Un scénario fréquent
HTML
<p>Un formulaire avec différents types de champs</p> <form action="getform.php" method="get"> <label>Prénom : <input type="text"></label><br> <label>Nom : <input type="text"></label><br> <label>Adresse email : <input type="email"></label><br> <input type="submit" value="Envoyer"> </form>
Résultat
Utiliser l'attribut mozactionhint sur Firefox mobile
L'attribut mozactionhint peut être utilisé afin de définir le texte pour la touche Entrée du clavier virtuel affiché sur l'écran de l'appareil. Dans l'exemple qui suit, on affiche Next dans le clavier :
<input type="text" mozactionhint="next">
Ce qui donne :
Localisation
Pour certains types d'éléments <input>, les valeurs saisies autorisées dépendent de la locale utilisée. Ainsi, dans certaines locales, 1,000.00 est un nombre valide alors que dans d'autres, il faudra avoir saisi 1.000,00 pour exprimer le même nombre.
Firefox utilise la méthode heuristique suivante afin de déterminer la locale pour laquelle valider la saisie de l'utilisateur (au moins dans le cas de type="number"):
- Utiliser la langue définie par l'attribut
lang/xml:langde l'élément ou par celui de ses parents. - SInon utiliser la langue définie dans l'en-tête HTTP
Content-Language - Sinon, utiliser la locale du navigateur
Spécifications
| Spécification | État | Commentaires |
|---|---|---|
| HTML Living Standard La définition de '<input>' dans cette spécification. |
Standard évolutif | |
| HTML Media Capture La définition de '<input capture>' dans cette spécification. |
Candidat au statut de recommandation | Ajout de l'élément capture. |
| HTML5 La définition de '<input>' dans cette spécification. |
Recommendation | |
| HTML 4.01 Specification La définition de '<form>' dans cette spécification. |
Recommendation |
Compatibilité des navigateurs
| Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Support simple | 1.0 | 1.0 (1.7 ou moins) | (Oui)[1] | 1.0 | 1.0 |
type |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
type=button |
1.0 | 1.0 (1.7 ou moins) | 3 | 1.0 | 1.0 |
type=checkbox |
1.0 | 1.0 (1.7 ou moins) 3.6 (1.9.2)[2] |
2 | 1.0 | 1.0 |
type=color |
21.0 | 29.0 (29.0) | Pas de support | 11.01 | Pas de support |
type=date |
5.0[24] | Pas de support[3] | Pas de support | 10.62 | (Oui)[4] |
type=datetime |
Pas de support[4] | Pas de support[3] | Pas de support | 10.62 | (Oui)[4] |
type=datetime-local |
5.0 | Pas de support[3] | Pas de support | 10.62 | (Oui)[4] |
type=email |
5.0 | 4.0 (2.0) | 10 | 10.62 | ? |
type=file |
1.0 | 1.0 (1.7 ou moins) | 3.02 | 1.0 | 1.0 |
type=hidden |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
type=image |
1.0 | 1.0 (1.7 ou moins)[5] | 2 | 1.0 | 1.0 |
type=month |
5.0 | Pas de support[6] | Pas de support | 10.62 | (Oui)[4] |
type=number |
6.0[7] | 29.0 (29.0) | 10[4] | 10.62 | (Oui) |
type=password |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
type=radio |
1.0 | 1.0 (1.7 ou moins) 3.6 (1.9.2)[2] |
2 | 1.0 | 1.0 |
type=range |
5.0 | 23.0 (23.0) | 10 | 10.62[8] | (Oui) |
type=reset |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
type=search |
5.0 | 4.0 (2.0) | 10 | 11.01 | (Oui) |
type=submit |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
type=tel |
5.0 | 4.0 (2.0) | 10 | 11.01 | ? |
type=text |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
type=time |
5.0 | Pas de support[3] | Pas de support | 10.62 | (Oui)[4] |
type=url |
5.0 | 4.0 (2.0) | 10 | 10.62 | ? |
type=week |
5.0 | Pas de support[3] | Pas de support | 10.62 | (Oui)[4] |
accept=[file extension] |
(Oui) | Pas de support | 10 | ? | Pas de support |
accept=[MIME type] |
8.0 | 16.0 (16.0) | 10 | 10 | Pas de support |
accept=audio/* |
(Oui) | 4.0 (2.0)[9] | 10 | Pas de support | Pas de support |
accept=video/* |
(Oui) | 4.0 (2.0)[10] | 10 | Pas de support | Pas de support |
accept=image/* |
(Oui) | 4.0 (2.0)[11] | 10 | Pas de support | Pas de support |
accept=[. + ext] |
? | 37.0 (37.0) | ? | ? | ? |
accesskey |
1.0 | (Oui) | 6 | 1.0 | ? |
mozactionhint |
Pas de support | 4.0 (2.0) | Pas de support | Pas de support | Pas de support |
autocapitalize |
43 | ? | ? | ? | (Oui) |
autocomplete |
17.0 | 4.0 (2.0) | 5 | 9.6 | 5.2 |
autofocus |
5.0 | 4.0 (2.0) | 10 | 9.6 | 5.0 |
capture |
Chrome for Android (0.16) | ? | ? | ? | ? |
checked |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
disabled |
1.0 | 1.0 (1.7 ou moins)[25] | 6 | 1.0 | 1.0 |
| fakepath utilisé comme préfixe pour les fichiers | (Oui) | 53 (53) | (Oui) | (Oui) | (Oui) |
form |
9.0 | 4.0 (2.0) | ? | 10.62 | ? |
formaction |
9.0 | 4.0 (2.0) | 10 | 10.62 | 5.2 |
formenctype |
9.0 | 4.0 (2.0) | 10 | 10.62 | ? |
formmethod |
9.0 | 4.0 (2.0) | 10 | 10.62 | 5.2 |
formnovalidate |
5.0[12] | 4.0 (2.0) | 10 | 10.62 | ? |
formtarget |
9.0 | 4.0 (2.0) | 10 | 10.62 | 5.2 |
height |
1.0 | 16.0 (16.0) | ? | 1.0 | ? |
incremental |
(Oui) | Pas de support | Pas de support | Pas de support | (Oui) |
inputmode |
Pas de support | Pas de support | Pas de support | Pas de support | Pas de support |
list |
20.0 | 4.0 (2.0) | 10 | 9.6 | Pas de support |
max |
5.0 | 16.0 (16.0) | ? | 10.62 | ? |
maxlength |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
min |
5.0 | 16.0 (16.0) | ? | 10.62 | ? |
minlength |
40.0 | ? | ? | ? | ? |
multiple |
1.0[13] | 3.6 (1.9.2)[14] (Oui)[15] |
10 | 1.0 10.62[14] 11.01[15] |
? |
name |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
pattern |
5.0 | 4.0 (2.0) | 10 | 9.6 | Pas de support |
placeholder |
10.0 | 4.0 (2.0) | 10 | 11.00 | 5.0 |
readonly |
1.0 | 1.0 (1.7 ou moins) | 6[16] | 1.0 | 1.0 |
required |
5.0 10[17] |
4.0 (2.0) | 10 | 9.6 | Pas de support |
size |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
spellcheck |
10.0 | 3.6 (1.9.2) | 10 | 11.0 | 4.0 |
src |
1.0 | 1.0 (1.7 ou moins) | 2 | 1.0 | 1.0 |
step |
6.0 | 16.0 (16.0) | 10 | 10.62 | 5.0 |
tabindex |
1.0 | 1.0 (1.7 ou moins) | 6[18] | (Oui) | ? |
webkitdirectory |
(Oui) | 49.0 (49.0) | ? | (Oui) | (Oui) |
width |
1.0 | 16.0 (16.0) | ? | 1.0 | ? |
| Fonctionnalité | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Support simple | (Oui) | 4.0 (2.0) | (Oui) | (Oui) | (Oui) |
type |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
type=button |
(Oui) | (Oui)[27] | (Oui) | (Oui) | (Oui) |
type=checkbox |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
type=color |
? | 27.0 (27.0) | ? | (Oui) | ? |
type=date |
Pas de support | Pas de support | Pas de support | 10.62 | 5.0[23] |
type=datetime |
Pas de support | Pas de support | Pas de support | 10.62 | (Oui)[23] |
type=datetime-local |
Pas de support | Pas de support | Pas de support | 10.62 | (Oui)[23] |
type=email |
? | 4.0 (2.0) | ? | (Oui) | 3.1[19] |
type=file |
? | ?[27] | ? | ? | (Oui)[21] |
type=hidden |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
type=image |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
type=month |
Pas de support | Pas de support | Pas de support | 10.62 | (Oui)[23] |
type=number |
2.3 | 29.0 (29.0) | ? | (Oui) | 4.0[19] |
type=password |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui)[22] |
type=radio |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
type=range |
? | Pas de support | ? | (Oui) | 5.0 |
type=reset |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
type=search |
? | 4.0 (2.0) | ? | 10.62 | 4.0[22] |
type=submit |
(Oui) | (Oui)[27] | (Oui) | (Oui) | (Oui) |
type=tel |
2.3 | 4.0 (2.0) | ? | 10.62 | 3.1[22] |
type=text |
(Oui) | (Oui)[27] | (Oui) | (Oui) | (Oui)[22] |
type=time |
Pas de support | Pas de support | Pas de support | 10.62 | (Oui)[23] |
type=url |
? | 4.0 (2.0) | ? | 10.62 | 3.1[19] |
type=week |
Pas de support | Pas de support | Pas de support | 10.62 | (Oui) |
accept=[MIME type] |
? | ? | ? | ? | ? |
accept=audio/* |
? | ? | ? | ? | ? |
accept=image/* |
? | ?[26] | ? | ? | ? |
accept=video/* |
? | ? | ? | ? | ? |
accept=[. + ext] |
? | 37.0 (37.0) | ? | ? | ? |
accesskey |
? | ? | ? | ? | ? |
autocapitalize |
? | ? | ? | ? | ?[28] |
autocomplete |
? | 4.0 (2.0) | (Oui) | (Oui) | (Oui) |
autofocus |
3.2 | 4.0 (2.0) | ? | (Oui) | ? |
capture |
3.0 | 10.0 (10.0) | ? | ? | 6.0 |
checked |
(Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
disabled |
(Oui) | 4.0 (2.0) | (Oui) | (Oui) | (Oui) |
| fakepath utilisé comme préfixe pour les fichiers | (Oui) | 53.0 (53) | (Oui) | (Oui) | (Oui) |
form |
? | ? | ? | ? | ? |
formaction |
? | 4.0 (2.0) | ? | 10.62 | 5.0 |
formenctype |
? | ? | ? | ? | ? |
formmethod |
? | 4.0 (2.0) | ? | 10.62 | 5.0 |
formnovalidate |
? | 4.0 (2.0) | ? | 10.62 | ? |
formtarget |
? | 4.0 (2.0) | ? | 10.62 | 5.0 |
height |
? | 16.0 (16.0) | ? | ? | ? |
list |
Pas de support | 4.0 (2.0) | ? | (Oui) | ? |
max |
? | 16.0 (16.0)[20] | ? | 10.62 | ? |
maxlength |
(Oui) | 4.0 (2.0) | (Oui) | (Oui) | (Oui) |
min |
? | 16.0 (16.0)[20] | ? | 10.62 | ? |
minlength |
? | Pas de support | ? | 27.0 | ? |
multiple |
? | (Oui) | ? | (Oui) | ? |
name |
(Oui) | 4.0 (2.0) | (Oui) | (Oui) | 1.0 |
pattern |
? | 4.0 (2.0) | ? | (Oui) | (Oui) |
placeholder |
2.3 | 4.0 (2.0) | ? | 11.10 | 4 |
readonly |
(Oui) | 4.0 (2.0) | (Oui) | (Oui) | (Oui) |
required |
? | (Oui) | ? | (Oui) | ? |
size |
(Oui) | 4.0 (2.0) | (Oui) | (Oui) | (Oui) |
spellcheck |
? | 4.0 (2.0) | ? | 11.0 | ? |
src |
? | ? | ? | ? | ? |
step |
? | 16.0 (16.0)[20] | ? | 10.62 | ? |
tabindex |
? | ? | ? | ? | ? |
webkitdirectory |
(Oui) | 49.0 (49.0) | ? | (Oui) | (Oui) |
width |
? | 16.0 (16.0) | ? | ? | ? |
[1] Cette fonctionnalité a été implémentée dans la version 2 ou dans une version antérieure.
[2] Implémentée pour la valeur indeterminate.
[3] Cette fonctionnalité n'est pas encore implémentée. Cf. bug 888320 et la page du wiki de mozilla
[4] Ce type est reconnu mais il n'y a pas d'interface utilisateur fournie.
[5] Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) envoie uniquement les coordonnées x et y de l'emplacement du clic et plus la paire name/value de l'élément.
[6] Cette fonctionnalité n'est pas encore implémentée. Cf. bug 888320.
[7] Localisation effectuée à partir de Chrome 11.
[8] Opera 11.01 prend en charge la valeur par défaut.
[9] Mise en place des filtres pour les fichiers audio avec les extensions suivantes : .aac, .aif, .flac, .iff, .m4a, .m4b, .mid, .midi, .mp3, .mpa, .mpc, .oga, .ogg, .ra, .ram, .snd, .wav, .wma.
[10] Mise en place des filtres pour les fichiers vidéo avec les extensions suivantes : .avi, .divx, .flv, .m4v, .mkv, .mov, .mp4, .mpeg, .mpg, .ogm, .ogv, .ogx, .rm, .rmvb, .smil, .webm, .wmv, .xvid
[11] Mise en place des filtres pour les fichiers image avec les extensions suivantes : .jpe, .jpg, .jpeg, .gif, .png, .bmp, .ico, .svg, .svgz, .tif, .tiff, .ai, .drw, .pct, .psp, .xcf, .psd, .raw
[12] In 6.0 it only worked with the HTML5 document type, validation support in 7.0 was disabled and re-enabled in 10.0.
[13] Prise en charge pour les types type="file" et type="email" à partir de la version 5.0.
[14] Prise en charge pour type="file".
[15] Prise en charge pour type="email".
[16] Absent pour les types type="checkbox" et type="radio".
[17] Prise en charge pour l'élément <select>.
[18] Les éléments avec tabindex > 0 ne sont pas parcourus lors de la navigation.
[19] Aucune validation appliquée mais un clavier spécifique est fourni. Safari Mobile pour iOS applique une mise en forme par défaut avec pour les éléments opacity: 0.4<input> textuels désactivés. Les autres navigateurs n'appliquent pas cette mise en forme particulière.
[20] L'interface utilisateur n'est pas encore implémentée.
[21] Le téléversement de fichiers ne fonctionnait pas pour Safari pour iOS 8.0 et 8.0.1. L'anomalie a été corrigée dans iOS 8.0.2.
[22] Aucune validation appliquée mais un clavier spécifique est fourni. Safari Mobile pour iOS applique une mise en forme par défaut avec pour les éléments opacity: 0.4<input> textuels désactivés. Les autres navigateurs n'appliquent pas cette mise en forme particulière.
[23] Sur Safari Mobile pour iOS, utiliser sur un élément display: block<input> de type type="date", type="time", type="datetime", type="datetime-local" ou type="month" empêche que le texte contenu dans <input> soit correctement aligné verticalement. Cf. WebKit bug 139848.
[24] À partir de Chrome 39, un élément <input> de type "date" mis en forme avec aura une largeur minimale (display: table-cell; width: 100%;min-width) imposée par Chrome et l'élément ne pourra pas être plus étroit que cette largeur. Cf bug #346051.
[25] À la différence des autres navigateurs, Firefox conservera l'état désactivé mis en place dynamiquement pour un élément <input> malgré le rechargement de la page. L'attribut autocomplete avec la valeur off permet de désactiver cette fonctionnalité. Cela fonctionne également lorsque l'attribut autocomplete ne devrait pas être appliqué à l'élément <input> en raison de son type. Cf. bug 654072.
[26] À partir de Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6), Firefox pour Android permet aux utilisateurs de prendre des photos avec l'appareil photo pour les téléverser, sans qu'il soit nécessaire de quitter le navigateur. Les développeurs web peuvent implémenter cette fonctionnalité en utilisant la valeur image/* dans l'attribut accept d'un élément <input> de type "file".
[27] Par défaut, Firefox pour Android applique un dégradé background-image sur les éléments <input> de type "file". Ce dégradé peut être désactivé grâce à la règle background-image: none;. Firefox pour Android applique également une bordure border par défaut sur ces éléments.
[28] Dans Safari, autocapitalize="words" met en majuscule les deuxièmes lettres de chaque mot.
Voir aussi
- Les autres éléments relatifs aux formulaires HTML :
<form>,<button>,<datalist>,<legend>,<label>,<select>,<optgroup>,<option>,<textarea>,<keygen>,<fieldset>,<output>,<progress>et<meter>.


