Aller au contenu

Balise HTML <input>

La balise <input> est utilisée dans l’élément <form> et définit des champs de saisie pour l’utilisateur. Le type du champ (texte, case à cocher, bouton radio, champ de mot de passe, etc.) est déterminé par la valeur de l’attribut type. La balise n’a pas de contenu textuel, elle contient uniquement des attributs.

Elle appartient à un groupe de balises appelé éléments de formulaire.

Pour associer un texte à un élément spécifique, on utilise la balise <label>, qui lui attribue une étiquette textuelle.

Syntaxe

La balise <input> est vide, ce qui signifie que la balise de fermeture n’est pas requise. Mais en XHTML, la balise (<input>) doit être fermée (<input/>).

Exemple de la balise HTML <input> :

Exemple de la balise HTML <input>

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form action="/form/submit" method="get">
      <input type="email" name="user_email" placeholder="Enter your email" />
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>

Exemple de la balise HTML <input> avec la balise HTML <label> :

Exemple de la balise HTML <input> avec la balise HTML <label>

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .form-group { margin-bottom: 10px; }
    </style>
  </head>
  <body>
    <form action="/form/submit" method="get">
      <div class="form-group">
        <label for="first_name">Your Name:</label>
        <input type="text" id="first_name" name="first_name" />
      </div>
      <div class="form-group">
        <label for="last_name">Your Surname:</label>
        <input type="text" id="last_name" name="last_name" />
      </div>
      <div class="form-group">
        <label for="user_email">Enter Your E-Mail:</label>
        <input type="email" id="user_email" name="user_email" />
      </div>
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>

Résultat

input tag example

Attributs

L’attribut principal qui détermine le type du champ de saisie est type. Si l’attribut est absent, la valeur par défaut est "text".

AttributValeurDescription
acceptaudio/* video/* image/* MIME_typeSpécifie les types de fichiers que vous pouvez envoyer via le champ de téléversement de fichiers. (Utilisé avec type="file").
alignleft right top middle bottomDéfinit le type d’alignement de l’image. (Utilisé uniquement avec les images). Non pris en charge en HTML5.
alttextDéfinit le texte alternatif de l’image. (Utilisé uniquement avec les images).
autocompleteon offActive/désactive l’autocomplétion. Nouvel attribut en HTML5.
autofocusautofocusIndique que le champ du formulaire doit recevoir le focus après le chargement de la page. Nouvel attribut en HTML5.
checkedcheckedIndique que l’élément doit être présélectionné lorsque la page se charge. (Utilisé uniquement pour <input type = "checkbox"> et <input type = "radio">).
disableddisabledIndique que l’élément ne doit pas être disponible pour l’interaction de l’utilisateur.
formform_idIndique le formulaire (spécifié par l’élément <form>) du contrôle. La valeur est l’identifiant du formulaire (id) dans le même document. Nouvel attribut en HTML5.
formactionURLSpécifie l’adresse vers laquelle les données du formulaire seront envoyées lors du clic sur le bouton. (Utilisé uniquement pour <input type = "image"> et <input type = "submit">).
formenctypeapplication/x-www-form-urlencoded multipart/form-data text/plainDétermine comment les données du formulaire sont encodées avant d’être envoyées au serveur. (Utilisé uniquement avec <input type="image"> et <input type="submit">). Valeurs : application/x-www-form-urlencoded (par défaut, encode tous les caractères), multipart/form-data (aucun encodage, utilisé pour les téléversements de fichiers), text/plain (les espaces deviennent +, les autres caractères ne sont pas encodés).
formmethodget postIndique la méthode de requête HTTP qui sera utilisée lors de l’envoi des données du formulaire. (Utilisé uniquement pour <input type = "image"> et <input type = "submit">). get envoie les données du formulaire dans la barre d’adresse. post envoie les données au serveur pour traitement.
formnovalidateformnovalidateIndique qu’il n’est pas nécessaire de vérifier l’exactitude des données. (Utilisé uniquement pour <input type = "submit">).
formtarget_blank _self _parent _topSpécifie où afficher la réponse après l’envoi du formulaire. (Utilisé uniquement pour <input type = "image"> et <input type = "submit">).
heightpixelsDéfinit la hauteur de l’élément (utilisé uniquement pour <input type = "image">).
inputmodeverbatim latin latin-name latin-prose full-width-latin kana katakana numeric tel email urlDéfinit la disposition du clavier.
listdatalist_idDéfinit une liste d’options parmi lesquelles l’utilisateur peut choisir. La valeur de l’attribut est l’identifiant de l’élément <datalist>.
maxnumber dateDéfinit la valeur maximale pour la saisie d’un nombre ou d’une date.
maxlengthnumberDéfinit le nombre maximal de symboles que l’utilisateur peut saisir.
minnumber dateDéfinit la valeur minimale pour la saisie d’un nombre ou d’une date.
multiplemultipleIndique que l’utilisateur peut saisir plus d’une valeur dans l’élément (uniquement pour <input type = "file"> et <input type = "email">).
nametextDéfinit le nom de l’élément. (Utilisé pour l’identification du formulaire).
patternregular expressionSpécifie une expression régulière selon laquelle vous devez saisir et vérifier les données dans le champ du formulaire. (Uniquement pour les éléments de contrôle text, search, tel, url, email et password).
placeholdertextDéfinit une courte invite qui décrit la valeur attendue pour le champ de saisie. L’utilisateur voit un indice dans le champ de saisie. Il disparaît lorsque l’utilisateur commence à saisir des données ou lorsque le champ reçoit le focus.
readonlyreadonlyDéfinit que le champ de saisie est activé en lecture seule. L’utilisateur ne peut pas effectuer de modifications.
requiredrequiredIndique que le champ de saisie doit être rempli avant l’envoi du formulaire.
sizenumberDéfinit la largeur visible du champ de texte en caractères. (Uniquement pour text, search, tel, url, email et password). La valeur par défaut est de 20 caractères.
srcURLIndique le chemin vers l’image utilisée comme bouton « envoyer ». (Utilisé uniquement pour <input type = "image">).
stepnumberDéfinit le pas d’incrémentation (valeur d’incrément) pour les champs numériques. Utilisé avec les attributs min et max qui définissent les valeurs minimale et maximale.
typebutton checkbox color date datetime datetime-local email file hidden image month number password radio range reset search submit tel text time url weekDéfinit le type du champ de saisie.
valuetextDéfinit la valeur de l’élément.
widthwidthDéfinit la largeur de l’élément (uniquement pour <input type = "image">).

La balise <input> prend également en charge les attributs globaux et les attributs d’événement.

Valeurs de l’attribut type

ValeurDescription
buttonDéfinit le bouton actif.
checkboxCoche des cases (l’utilisateur peut sélectionner plus d’une option).
colorSpécifie une palette de couleurs (l’utilisateur peut sélectionner des valeurs de couleur en hexadécimal).
dateDéfinit le champ de saisie pour une date du calendrier.
datetime (deprecated)Définit le champ de saisie pour la date et l’heure. (Obsolète en HTML5, utilisez datetime-local à la place.)
datetime-localDéfinit le champ de saisie pour la date et l’heure sans fuseau horaire.
emailDéfinit le champ de saisie pour l’e-mail.
fileDéfinit le contrôle avec le bouton Parcourir, en cliquant sur lequel vous pouvez sélectionner et charger le fichier.
hiddenDéfinit un champ de saisie masqué. Il n’est pas visible pour l’utilisateur.
imageIndique qu’une image est utilisée à la place d’un bouton pour envoyer des données au serveur. Le chemin vers l’image est indiqué par l’attribut src. L’attribut alt peut également être utilisé pour spécifier un texte alternatif, et les attributs height et width pour spécifier la hauteur et la largeur de l’image.
monthDéfinit le champ de sélection d’un mois, après quoi les données seront affichées sous la forme année-mois (par exemple : 2018-07).
numberDéfinit le champ de saisie pour les nombres.
passwordDéfinit un champ pour saisir un mot de passe (les caractères saisis sont affichés sous forme d’astérisques, de points ou d’autres caractères).
radioCrée un bouton radio (lorsqu’on choisit un bouton radio, tous les autres seront désactivés).
rangeCrée un curseur pour sélectionner des nombres dans la plage spécifiée. La plage par défaut est de 0 à 100. La plage des nombres est spécifiée par les attributs min et max.
resetDéfinit un bouton pour réinitialiser les informations.
searchCrée un champ de texte pour la recherche.
submitCrée un bouton d’envoi des données du formulaire (« bouton envoyer »).
textCrée un champ de texte sur une seule ligne.
timeSpécifie un champ numérique pour saisir l’heure au format 24 heures (par exemple, 13:45).
urlCrée un champ de saisie pour l’URL.
weekCrée un champ pour sélectionner la semaine, après quoi les données seront affichées sous la forme année-semaine (par exemple : 2018-W25).

Practice

What can be achieved with the HTML <input> tag?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.