On Change in React

 index.js

import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import 'bootstrap/dist/css/bootstrap.css';
import "@popperjs/core/dist/umd/popper";


import InputForm from "./InputForm";


//import DataBoundComponent from "./DataBoundComponent";
let container = document.getElementById("root");
ReactDOM.render(
  <div className="container">
  
  <InputForm></InputForm>
   {/* <DataBoundComponent/> */}
   
    </div>container);

InputForm.js
import React from "react";
export default class InputForm extends React.Component {
    constructor(props)
     {
                super(props);
                this.state = {
                    st: 'Maharashtra',
                    FirstName: '',
                    LastName: null,
                    Address:'',
                    Billing:true,
                    gender:'Female',
                    isChecked: false,
                };
                this.ChooseGender = this.ChooseGender.bind(this);
                this.myChangeHandler = this.myChangeHandler.bind(this);
                this.changeState=this.changeState.bind(this);
                this.handleChecked = this.handleChecked.bind(this);
     }
      myChangeHandler = (event=> {
        let FirstName = event.target.name;
      
        let Address = event.target.value;
    
        this.setState({[FirstName]: Address});
       
      }
     changeState=(event)=>{
        this.setState({st: event.target.value});
     }
     ChooseGender=(event)=>{
        this.setState({gender: event.target.value});
     }
     handleChecked () {
        this.setState({isChecked: !this.state.isChecked});
      }
    render() {
        var txt;
    if (this.state.isChecked) {
      txt = 'True'
    } else {
      txt = 'False'
    }

      return (
        <div class="container" style={{margin: "auto",
        width: "30%",border: "3px solid #73AD21",  padding: "10px"}}>
                <form>
                <p >
                        <input
                        placeholder="FirstName"  
                        type='text'
                        name='FirstName'
                        
                        onChange={this.myChangeHandler}
                       
                        />
                </p>
                <p>
                    <input
                    placeholder="LastName"  
                    type='text'
                    name='LastName'
                  
                    onChange={this.myChangeHandler}
                    />
                </p>
                    <textarea 
                            placeholder="Address" 
                            name="Address" type="text"
                           
                           
                            onChange={this.myChangeHandler}
                    /><br></br>
                    <label>Is your Billing Address is same :
                         <input type="checkbox" onChange={ this.handleChecked }/>
                    </label>
                
                <p>
                        <label>
                            State:
                            <select value={this.state.st} onChange={this.changeState} >
                               
                                <option value="Maharashtra">Maharashtra</option>
                                <option value="Rajasthan">Rajasthan</option>
                                <option value="karnatak">karnatak</option>
                                <option value="Madhya Pradesh">Madhya Pradesh</option>
                            </select>
                        </label>
                
                </p>
                
                Gender: <br></br>
                        <div onChange={this.ChooseGender} value={this.state.value}  
                        
                            style={{paddingTop:"4px" }}>
                            <input type="radio" value="Male" name="gender" /> Male
                            <input type="radio" value="Female" name="gender" /> Female
                            
                        </div>
                
                
                <legend>Summary:</legend>    
            
                <h6>First Name: {this.state.FirstName}{this.state.LastName}</h6>
                <h6>Address: {this.state.Address}</h6>
                <h6>Is Billing Address Same: {txt}</h6>
                <h6>State: {this.state.st}</h6>
                <h6>Gender: {this.state.gender}</h6>
                <button >Save</button>
                </form>
        </div>
      );
    }
  }
  
output:








Comments