How do I use Onchange input tag?

Every web app has at least one form with multiple inputs. The most common example is a simple signup or user registration form with multiple input fields for name, email, password, etc. In React's component architecture, the entire form is a controlled component with its state managing the form data through various event handlers. This guide explores the cleanest and most efficient way of handling multiple inputs using a single JavaScript function in React.

React provides us with some really useful utilities. One of them is the normalized event system that it provides. Today we are going to look at one of events  — The onChange event. The onChange event in React detects when the value of an input element changes. Let’s dive into some common examples of how to use onChange in React.

What is the onChange Event Handler?

JavaScript allows us to listen to an input’s change in value by providing the attribute onchange. React’s version of the onchange event handler is the same, but camel-cased.

If you’re using forms inside of a React component, it’s a good idea to understand how the onChange event handler works with forms, state, and how you can pass the value to a function.

Event handlers are an important part of React. Learn more about other Event handlers such as the onClick, onDrag, onHover or the onKeyPress event.

Example: Add an onChange Handler to an Input

Let’s begin with a simple, but extremely important example: how to add an onChange event handler to an input, checkbox, or select element in a React component:

App.js

... return ( <input name="firstName" onChange={handleChange} /> ); ...

The above code displays a single input field which, when typed in, passes its current value to the handleChange function. As mentioned before, JavaScript’s native onchange syntax is written in all lowercase, however we use camel-case for our event handler names in React.

Example: Pass an Input Value from the onChange Event in a React Component

Let’s expand on the previous example by declaring a new function inside of our React component for the onChange handler to pass a value to. We’ll call it handleChange, and have it log the input’s current value to the console:

App.js

import React from 'react'; function App() { function handleChange(event) { console.log(event.target.value); } return ( <input name="firstName" onChange={handleChange} /> ); } export default App;

An onChange event handler returns a Synthetic Event object which contains useful meta data such as the target input’s id, name, and current value.

We can access the target input’s value inside of the handleChange by accessing e.target.value. Therefore, to log the name of the input field, we can log e.target.name.

Log the whole event object to the console and click through it to see what other useful information it provides.

The example above was of a functional component. If you’re using a Class component, you will have to bind the onChange event handler to the context of this. To learn more about the differences between Functional components and Class-based components check out this guide.

Example: Saving an Input Value Inside of State using onChange in a React Component

The final example we’ll explore today is how to store an input’s current value inside of a state value. We are going to use the useState hook provided to us by React. You can learn more about the useState hook here.

This is extremely useful for keeping track of the current input fields values, and displaying them on the UI.

App.js

import React from 'react'; function App() { const [firstName, setFirstName] = useState(''); return ( <input value={firstName} name="firstName" onChange={e => setFirstName(e.target.value)} /> ); } export default App;

So basically, what we did here is attach the setFirstName setter function to the onChange event handler which passes us the value of the input under e.target.value which is then set to the firstName which sets the value of the input and the cycle continues… Thank you for following along and if you are new to React don’t forget to check out this tutorial on how to create your first React app

Does Onchange work for input?

This event attribute falls into the category of Form Events. That's why onchange is used with form controls, like input, select, checkbox, radio buttons, etc. The Javascript listens for user input and fires this event whenever a value gets updated.

How do you find the input value of Onchange?

To get the value of an input on change in React, set an onChange event handler on the input, then use the target. value property of the Event object passed to the handler to get the input value. The message is updated when the input value changes. Here we create a state variable ( message ) to track the input value.

Can we use Onchange in option tag?

It is possible through an onchange event that is triggered when the user changes the selected option via <select> element. This post explains the selection of onchange events along with a practical example in JavaScript.

How to change input in JavaScript?

Input Text value Property.
Change the value of a text field: getElementById("myText"). ... .
Get the value of a text field: getElementById("myText"). ... .
Dropdown list in a form: var mylist = document. ... .
Another dropdown list: var no = document. ... .
An example that shows the difference between the defaultValue and value property:.