--- title: change slug: Web/API/HTMLElement/change_event translation_of: Web/API/HTMLElement/change_event --- {{APIRef}} L'événement **change** est déclenché pour les éléments {{HTMLElement("input")}} _(entrée)_, {{HTMLElement("select")}} _(sélection)_ et {{HTMLElement("textarea")}} _(zone de texte)_ lorsqu'un changement de leur valeur est réalisé par l'utilisateur. Contrairement à l'événement {{event("input")}}, **change** n'est pas nécessairement déclenché pour chaque changement de valeur.
Propagation Oui
Annulable Non
Interface {{domxref("Event")}}
Gestionnaire d'événements {{domxref("GlobalEventHandlers/onchange", "onchange")}}
En fonction du type d'élément de formulaire modifié et de la manière dont l'utilisateur interagit avec cet élément, l'événement **change** se déclenche à un moment différent : - Quand l'élément est activé (en cliquant ou en utilisant le clavier) pour `` et ``_(case à cocher_). - Quand l'utilisateur réalise le changement de manière explicite (par exemple, en sélectionnant une valeur venant d'un {{HTMLElement("select")}} d'un menu déroulant avec le clic d'une souris, en sélectionnant une date d'un "date picker" _(sélecteur de date)_ pour ``, en sélectionnant un fichier d'un "file picker" _(sélecteur de fichier)_ pour ``, etc.). - Quand l'élément perd le focus après que sa valeur a été changée, mais pas validée (par exemple, après l'édition d'une valeur de {{HTMLElement("textarea")}} ou ``). Les différents navigateurs ne sont pas toujours d'accord sur le fait que l'événement **change** doit être déclenché pour certains types d'interactions. Par exemple, la navigation avec le clavier dans les éléments {{HTMLElement("select")}} ne déclenche jamais l'événement dans Gecko jusqu'à ce que l'utilisateur appuie sur la touche Entrée ou déplace le focus en dehors du \` qui doivent déclencher l'événement `change`.](https://html.spec.whatwg.org/multipage/forms.html#concept-input-apply) ## Exemples ### L'élément \`](/fr/docs/Web/HTML/Element/select) en appelant la fonction `changeEventHandler()` dans l'attribut `onchange`. Il lit la valeur de la cible de l'évènement et la montre dans une alerte. #### HTML ```html
``` ```css hidden body { display: grid; grid-template-areas: "select result"; } select { grid-area: select; } .result { grid-area: result; } ``` #### Javascript ```js const selectElement = document.querySelector('.ice-cream'); selectElement.addEventListener('change', (event) => { const result = document.querySelector('.result'); result.textContent = `You like ${event.target.value}`; }); ``` #### Résultat {{ EmbedLiveSample('Lélément_select', '100%', '75px') }} ### L'élément d'entrée de texte Pour certains éléments, notamment ``, l'événement de changement ne se déclenche pas tant que le contrôle ne perd pas le focus. Essayez de saisir quelque chose dans le champ ci-dessous, puis cliquez ailleurs pour déclencher l'événement. #### HTML ```html

``` #### JavaScript ```js const input = document.querySelector('input'); const log = document.getElementById('log'); input.addEventListener('change', updateValue); function updateValue(e) { log.textContent = e.target.value; } ``` #### Résultat {{ EmbedLiveSample('Lélément_dentrée_de_texte', '100%', '75px') }} ## Spécifications | Spécification | Statut | Commentaire | | ---------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------- | | {{SpecName("HTML WHATWG", "indices.html#event-change", "change")}} | {{Spec2("HTML WHATWG")}} | | | {{SpecName("HTML5 W3C", "webappapis.html#handler-onchange", "change")}} | {{Spec2("HTML5 W3C")}} | | | {{SpecName("DOM2 Events", "#Events-eventgroupings-htmlevents", "change")}} | {{Spec2("DOM2 Events")}} | Définition initiale | ## Compatibilités navigateurs {{Compat("api.GlobalEventHandlers.onchange")}} ## Voir aussi Cet événement est aussi déclenché dans plusieurs API non-standard: - {{domxref("NetworkInformation.connection")}} déclenche l'événement **change** lorsque les informations de connexions changent. - {{domxref("DeviceStorageChangeEvent")}} est déclenché à chaque fois qu'un fichier est créé, modifié, ou supprimé du système de stockage du périphérique.