The onchange property of the GlobalEventHandlers mixin is an event handler 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.


target.onchange = functionRef;

functionRef is a function name or a function expression. The function receives an Event object as its sole argument.


This example logs the number of characters in an <input> element, every time you modify its contents and then change focus away from it.


<input type="text" placeholder="Type something here, then click outside of the field." size="50">
<p id="log"></p>


let input = document.querySelector('input');
let log = document.getElementById('log');

input.onchange = handleChange;

function handleChange(e) {
  log.textContent = `The field's value is
      ${} character(s) long.`;



HTML Standard
# handler-onchange

Browser compatibility

BCD tables only load in the browser

See also