content logo

React Forms:

React Form with Submission Alert Notification

As you can see in this post we have created a simple form using React. This form contains two fields for entering a username and email and a button. By entering two fields and clicking on the button, an alert will be displayed at the top of the screen, where we can see the items that were written in the text fields inside the alert.

#

React Form Code

#

Alert Notification Form

#

HTML React Form Example

#

Responsive React Form

<!-- This script got from frontendfreecode.com -->
<div id="app"></div><a style="font-size: 8pt; text-decoration: none" target="_blank" href="http://frontendfreecode.com">Free Frontend</a>
                                                                            
body {
  padding: 30px 20%;
}
h1 {
  font-size: 2em;
  text-align: center;
}
class ContactForm extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            name: '',
            email: ''
        };
        this.handleChange = this.handleInputChange.bind(this);
        this.handleSubmit = this.handleSubmit.bind(this);
    }
    handleInputChange(event) {
        const target = event.target;
        const value = target.type === 'checkbox' ? target.checked : target.value;
        const name = target.name;
        this.setState({
            [name]: value
        });
        console.log('Change detected. State updated' + name + ' = ' + value);
    }
    handleSubmit(event) {
        alert('A form was submitted: ' + this.state.name + ' // ' + this.state.email);
        event.preventDefault();
    }
    render() {
        return /*#__PURE__*/(
            React.createElement("div", null, /*#__PURE__*/
                React.createElement("form", { onSubmit: this.handleSubmit }, /*#__PURE__*/
                    React.createElement("div", { className: "form-group" }, /*#__PURE__*/
                        React.createElement("label", { for: "nameImput" }, "Name"), /*#__PURE__*/
                        React.createElement("input", { type: "text", name: "name", value: this.state.name, onChange: this.handleChange, className: "form-control", id: "nameImput", placeholder: "Name" })), /*#__PURE__*/
                    React.createElement("div", { className: "form-group" }, /*#__PURE__*/
                        React.createElement("label", { for: "emailImput" }, "Email"), /*#__PURE__*/
                        React.createElement("input", { name: "email", type: "email", value: this.state.email, onChange: this.handleChange, className: "form-control", id: "emailImput", placeholder: "email@domain.com" })), /*#__PURE__*/
                    React.createElement("input", { type: "submit", value: "Submit", className: "btn btn-primary" }))));
    }
}
class MainTitle extends React.Component {
    render() {
        return /*#__PURE__*/(
            React.createElement("h1", null, "React Form example"));
    }
}
class App extends React.Component {
    render() {
        return /*#__PURE__*/(
            React.createElement("div", null, /*#__PURE__*/
                React.createElement(MainTitle, null), /*#__PURE__*/
                React.createElement(ContactForm, null)));
    }
}
React.render( /*#__PURE__*/React.createElement(App, null), document.getElementById('app'));
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.min.js'></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- This script got from frontendfreecode.com -->

<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.min.js'></script>
<style>
body {
  padding: 30px 20%;
}
h1 {
  font-size: 2em;
  text-align: center;
}
</style>

</head>
<body>
<div id="app"></div><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com">Free Frontend</a></div>
<script>
class ContactForm extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            name: '',
            email: ''
        };
        this.handleChange = this.handleInputChange.bind(this);
        this.handleSubmit = this.handleSubmit.bind(this);
    }
    handleInputChange(event) {
        const target = event.target;
        const value = target.type === 'checkbox' ? target.checked : target.value;
        const name = target.name;
        this.setState({
            [name]: value
        });
        console.log('Change detected. State updated' + name + ' = ' + value);
    }
    handleSubmit(event) {
        alert('A form was submitted: ' + this.state.name + ' // ' + this.state.email);
        event.preventDefault();
    }
    render() {
        return /*#__PURE__*/(
            React.createElement("div", null, /*#__PURE__*/
                React.createElement("form", { onSubmit: this.handleSubmit }, /*#__PURE__*/
                    React.createElement("div", { className: "form-group" }, /*#__PURE__*/
                        React.createElement("label", { for: "nameImput" }, "Name"), /*#__PURE__*/
                        React.createElement("input", { type: "text", name: "name", value: this.state.name, onChange: this.handleChange, className: "form-control", id: "nameImput", placeholder: "Name" })), /*#__PURE__*/
                    React.createElement("div", { className: "form-group" }, /*#__PURE__*/
                        React.createElement("label", { for: "emailImput" }, "Email"), /*#__PURE__*/
                        React.createElement("input", { name: "email", type: "email", value: this.state.email, onChange: this.handleChange, className: "form-control", id: "emailImput", placeholder: "email@domain.com" })), /*#__PURE__*/
                    React.createElement("input", { type: "submit", value: "Submit", className: "btn btn-primary" }))));
    }
}
class MainTitle extends React.Component {
    render() {
        return /*#__PURE__*/(
            React.createElement("h1", null, "React Form example"));
    }
}
class App extends React.Component {
    render() {
        return /*#__PURE__*/(
            React.createElement("div", null, /*#__PURE__*/
                React.createElement(MainTitle, null), /*#__PURE__*/
                React.createElement(ContactForm, null)));
    }
}
React.render( /*#__PURE__*/React.createElement(App, null), document.getElementById('app'));
</script>

</body>
</html>
Preview