<form> : l'élément représentant un formulaire
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'élément HTML <form> représente une section du document contenant des contrôles interactifs permettant de soumettre des informations.
Exemple interactif
<form action="" method="get" class="form-example">
<div class="form-example">
<label for="name">Entrez votre nom : </label>
<input type="text" name="name" id="name" required />
</div>
<div class="form-example">
<label for="email">Entrez votre e-mail : </label>
<input type="email" name="email" id="email" required />
</div>
<div class="form-example">
<input type="submit" value="S'abonner !" />
</div>
</form>
form.form-example {
display: table;
}
div.form-example {
display: table-row;
}
label,
input {
display: table-cell;
margin-bottom: 10px;
}
label {
padding-right: 10px;
}
Il est possible d'utiliser les pseudo-classes CSS :valid et :invalid pour mettre en forme un élément <form> selon que le contenu des elements du formulaire est valide ou non.
Attributs
Cet élément inclut les attributs universels.
acceptObsolète-
Cet attribut indique quels types de contenus sont acceptés par le serveur. Il peut y en avoir plusieurs, séparés par des virgules.
Note : Cet attribut a été retiré dans HTML5 et ne doit plus être utilisé. À la place, il faut utiliser l'attribut
acceptde l'élément<input type=file>. accept-charset-
L'encodage de caractères accepté par le serveur. La spécification autorise une seule valeur insensible à la casse
"UTF-8", reflétant l'omniprésence de cet encodage (historiquement, plusieurs encodages de caractères pouvaient être spécifiés sous forme de liste séparée par des virgules ou par des espaces). autocapitalize-
Contrôle la mise en majuscules automatique du texte saisi et, le cas échéant, la manière dont elle s'effectue. Voir la page de l'attribut global
autocapitalizepour plus d'informations. autocomplete-
Indique si, par défaut, les éléments d'entrée peuvent voir leurs valeurs complétées automatiquement par le navigateur. Les attributs
autocompleteappliqués aux éléments du formulaire remplacent celui défini sur le<form>. Valeurs possibles :off: Le navigateur peut ne pas compléter automatiquement les saisies. (Les navigateurs ont tendance à ignorer ce réglage pour les formulaires de connexion suspects ; voir Gérer l'autocomplétion pour les champs de connexion.)on: Le navigateur peut compléter automatiquement les saisies.
name-
Le nom du formulaire. La valeur ne doit pas être une chaîne vide et doit être unique parmi les éléments
formde la collection de formulaires à laquelle il appartient, le cas échéant. Le nom devient une propriété des objetsWindow,Documentetdocument.forms, contenant une référence à l'élément formulaire. rel-
Contrôle les annotations et les types de liens créés par le formulaire. Les annotations incluent
external,nofollow,opener,noopeneretnoreferrer. Les types de liens incluenthelp,prev,next,searchetlicense. La valeur derelest une liste d'espaces de ces valeurs énumérées.
Attributs pour l'envoi de formulaires
Les attributs suivants contrôlent le comportement pendant l'envoi du formulaire.
action-
L'URL qui traite l'envoi du formulaire. Cette valeur peut être remplacée par un attribut
formactionsur un<button>,<input type="submit">, ou<input type="image">. Cet attribut est ignoré lorsquemethod="dialog"est défini. enctype-
Lorsque la valeur de l'attribut
methodestpost, cet attribut définit le type MIME qui sera utilisé pour encoder les données envoyées au serveur. C'est un attribut énuméré qui peut prendre les valeurs suivantes :application/x-www-form-urlencoded: la valeur par défaut si l'attribut n'est pas définimultipart/form-data: la valeur utilisée par un élément<input>avec l'attributtype="file".text/plain: utilisé à des fins de débogage.
Cette valeur peut être remplacée par un attribut
formenctypesur un<button>,<input type="submit">, ou<input type="image">. method-
Cet attribut définit la méthode HTTP qui sera utilisée pour envoyer les données au serveur. C'est un attribut énuméré qui peut prendre les valeurs suivantes (non sensibles à la casse) :
post: La méthodePOST; données du formulaire envoyées comme corps de la requête.get: La méthodeGET; données du formulaire annexées à l'URLactionavec un séparateur?. Utilisez cette méthode lorsque le formulaire n'a pas d'effets secondaires.dialog: Lorsque le formulaire se trouve à l'intérieur d'un<dialog>, ferme la boîte de dialogue à la soumission.
Si cet attribut n'est pas défini, la valeur par défaut utilisée est
get. Cette valeur peut-être remplacée par un attributformmethodsur un<button>,<input type="submit">ou<input type="image">. novalidate-
Cet attribut booléen indique que le formulaire ne doit pas être validé lors de sa soumission. Si cet attribut n'est pas défini (et que le formulaire est donc validé), il peut être remplacé par un attribut
formnovalidatesur un<button>,<input type="submit">ou<input type="image">appartenant au formulaire. target-
Indique où afficher la réponse après l'envoi du formulaire. C'est un nom/mot-clé pour un contexte de navigation (par exemple : onglet, fenêtre ou iframe). Les mots-clés suivants ont des significations particulières :
_self(par défaut) : Charger dans le même contexte de navigation que le contexte actuel._blank: Charger dans un nouveau contexte de navigation sans nom. Cela a le même comportement que de définirrel="noopener"et ne définit paswindow.opener._parent: Charger dans le contexte de navigation parent du contexte actuel. S'il n'y a pas de parent, il se comporte de la même manière que_self._top: Charger dans le contexte de navigation de niveau supérieur (c'est‑à‑dire le contexte de navigation qui est un ancêtre du contexte actuel et qui n'a pas de parent). S'il n'y a pas de parent, il se comporte de la même manière que_self._unfencedTop: Charge la réponse d'un formulaire situé à l'intérieur d'un cadre sécurisé dans la fenêtre de niveau supérieur (c'est‑à‑dire en traversant au‑delà de la racine de la fenced frame, contrairement aux autres destinations réservées). Disponible uniquement à l'intérieur des fenced frames.
Cette valeur peut être remplacée par un attribut
formtargetsur un<button>,<input type="submit">, ou<input type="image">.
Exemples
>HTML
<!-- Formulaire simple qui enverra une requête GET -->
<form>
<label
>Nom :
<input name="submitted-name" autocomplete="name" />
</label>
<button>Sauvegarder</button>
</form>
<!-- Formulaire qui enverra une requête POST à l'URL actuelle -->
<form method="post">
<label
>Nom :
<input name="submitted-name" autocomplete="name" />
</label>
<button>Sauvegarder</button>
</form>
<!-- Formulaire avec un ensemble de champs, une légende et une étiquette -->
<form method="post">
<fieldset>
<legend>Titre</legend>
<label><input type="radio" name="radio" />Sélectionnez-moi</label>
</fieldset>
</form>
Résultat
Résumé technique
| Catégories de contenu | Contenu de flux, contenu tangible. |
|---|---|
| Contenu autorisé |
Contenu de flux
qui ne contient pas d'élément <form>.
|
| Omission de balises | Aucune, la balise d'ouverture et la balise de fermeture sont obligatoires |
| Parents autorisés | Tout élément qui accepte du contenu de flux. |
| Rôle ARIA implicite |
form
|
| Rôles ARIA autorisés |
search,
none
ou presentation
|
| Interface DOM | HTMLFormElement |
Spécifications
| Specification |
|---|
| HTML> # the-form-element> |
Compatibilité des navigateurs
Voir aussi
- Guide des formulaires HTML
- D'autres éléments qui sont utilisés lors de la création de formulaires :
<button>,<datalist>,<fieldset>,<input>,<label>,<legend>,<meter>,<optgroup>,<option>,<output>,<progress>,<select>,<textarea>. - Obtenir une liste des éléments du formulaire :
HTMLFormElement.elements - ARIA : rôle
form - ARIA : rôle
search