The onchange property of the GlobalEventHandlers mixin is an EventHandler for processing change events.
change events fire when the user commits a value change to a form control. This may be done, for example, by clicking outside of the control or by using the Tab key to switch to a different control.
Note: Unlike oninput, the onchange event handler is not necessarily called for each alteration to an element's value.
Syntax
target.onchange = functionRef;
functionRef is a function name or a function expression. The function receives an Event object as its sole argument.
Example
This example logs the number of characters in an <input> element, every time you modify its contents and then change focus away from it.
HTML
<input type="text" placeholder="Type something here, then click outside of the field." size="50"> <p id="log"></p>
JavaScript
let input = document.querySelector('input');
let log = document.getElementById('log');
input.onchange = handleChange;
function handleChange(e) {
log.textContent = `The field's value is
${e.target.value.length} character(s) long.`;
}
Result
Specification
| Specification | Status | Comment |
|---|---|---|
| HTML Living Standard The definition of 'onchange' in that specification. |
Living Standard |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
onchange | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
See also
changeevent