Balise HTMLFormulaires

<output>

Le résultat d’un calcul ou d’une action de l’utilisateur, par exemple un total dans une calculatrice.

Affichage
inline
Balise fermante
Obligatoire
Contenu autorisé
Contenu phrasant (phrasing content)
Sur cette page

Exemple

#
HTML
<form oninput="total.value = Number(minutes.value) * Number(days.value)">
  <p><label>Minutes par jour <input type="number" id="minutes" value="30" min="0" max="240"></label></p>
  <p><label>Jours par semaine <input type="number" id="days" value="5" min="1" max="7"></label></p>
  <p>Total par semaine : <output name="total" for="minutes days">150</output> min</p>
</form>
Aperçu

Définition et utilisation

#

L’élément <output> affiche un résultat : le total d’une commande, une valeur réglée avec un curseur, le résultat d’une calculatrice. Vous changez généralement son contenu en JavaScript via la propriété value, et l’attribut for indique à partir de quels champs le résultat a été obtenu.

Les navigateurs traitent <output> comme une région de statut, ce qui permet aux lecteurs d’écran d’annoncer la nouvelle valeur sans déplacer le focus. C’est pourquoi c’est un meilleur choix qu’un simple <span> pour un résultat qui change pendant la saisie des données.

Bien que <output> fasse partie des éléments de formulaire, son contenu n’est pas envoyé au serveur. Si le serveur a besoin du résultat, qu’il le calcule lui-même.

Syntaxe

#
Syntaxe
<output name="resultat" for="champ1 champ2">0</output>

Attributs

#
  • for

    liste d’identifiants

    Les identifiants des champs dont découle la valeur, séparés par des espaces. Il décrit cette dépendance pour les technologies d’assistance, mais ne calcule rien par lui-même.
  • name

    texte

    Le nom de l’élément, qui vous permet de vous y référer dans un script, par exemple form.elements.total. Malgré son nom, la valeur n’est pas envoyée avec le formulaire.

L’élément accepte aussi tous les attributs globaux, comme class, id, style ou hidden.

Attributs en pratique

#

for

liste d’identifiants

Les identifiants des champs dont découle la valeur, séparés par des espaces. Il décrit cette dépendance pour les technologies d’assistance, mais ne calcule rien par lui-même.

HTML
<form oninput="level.value = volume.value + '%'">
  <label for="volume">Volume de la voix off</label>
  <input type="range" id="volume" min="0" max="100" value="60">
  <output name="level" for="volume">60%</output>
</form>
Aperçu

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Définissez le résultat via output.value, et non via innerHTML. C’est plus simple et sûr, car la valeur arrive toujours dans l’élément comme simple texte.
  • Le texte écrit entre les balises est la valeur par défaut à laquelle <output> revient après la réinitialisation du formulaire.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.