content logo

React Forms:

React Contact Us Form with Colorful Shadow and Text Validator

For the contact us section, you can use ready-made forms to make the appearance of your website more beautiful. In this post, one of these forms has been prepared for you. This form has a sharp corner on both sides. It also has a color shade. Using this form, you can get user comments and feedback.

#

HTML Contact us Form

#

Shadowy React Form

#

HTML React Form Code

#

Contact us Form Validator

#

CSS Colorful Form

<!-- This script got from frontendfreecode.com -->
<div id="content">
</div><a style="font-size: 8pt; text-decoration: none" target="_blank" href="http://frontendfreecode.com">Free Frontend</a>
                                                                            
@import url("https://fonts.googleapis.com/css?family=Audiowide");
@import url("https://fonts.googleapis.com/css?family=Contrail+One");
@import url("https://fonts.googleapis.com/css?family=Press+Start+2P");
body {
  background-color: #130d26;
  color: #c69e71;
  font-family: "Contrail One", cursive;
  text-shadow: -1px -1px 5px #130d26, 1px -1px 5px #644f42, -1px 1px 5px #130d26, 1px 1px 5px #644f42;
}
#content {
  height: 520px;
  width: 400px;
  margin: 10vh auto;
  border-radius: 0px 25px;
  background: linear-gradient(#644f42, #130d26);
  border: 4px solid rgba(204, 211, 235, 0.6);
  box-shadow: 3px 3px 30px snow;
}
h1 {
  display: block;
  text-align: center;
}
fieldset {
  border: none;
  text-align: center;
  display: block;
  padding: 20px 0px;
}
fieldset input, fieldset #formMessage {
  background-color: #644f42;
  border: 1px solid rgba(204, 211, 235, 0.6);
  width: 60%;
  color: rgba(204, 211, 235, 0.6);
  text-align: center;
  font-size: 18px;
  border-radius: 0 15px;
}
fieldset label {
  display: block;
}
#formButton {
  display: block;
  margin: 0 auto;
  font-size: 16px;
  line-height: 32px;
  width: 120px;
  background-color: #644f42;
  color: #c69e71;
  border: 1px solid rgba(204, 211, 235, 0.6);
  cursor: pointer;
  font-family: "Press Start 2P", cursive;
  text-transform: lowercase;
  border-radius: 0 15px;
}
#formButton:hover {
  background-color: #130d26;
}
function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}const myForm = document.querySelector('#content');
class ReactFormLabel extends React.Component {
  constructor() {
    super();
  }
  render() {
    return /*#__PURE__*/(
      React.createElement("label", { htmlFor: this.props.htmlFor }, this.props.title));
  }}
class ReactForm extends React.Component {
  constructor() {
    super();_defineProperty(this, "handleChange",
    e => {
      let newState = {};
      newState[e.target.name] = e.target.value;
      this.setState(newState);
    });_defineProperty(this, "handleSubmit",
    (e, message) => {
      e.preventDefault();
      let formData = {
        formSender: this.state.name,
        formEmail: this.state.email,
        formSubject: this.state.subject,
        formMessage: this.state.message };
      if (formData.formSender.length < 1 || formData.formEmail.length < 1 || formData.formSubject.length < 1 || formData.formMessage.length < 1) {
        return false;
      }
      $.ajax({
        url: '#',
        dataType: 'json',
        type: 'POST',
        data: formData,
        success: function (data) {
          if (confirm('Thanks for signing up, we will chat soon!')) {
            document.querySelector('.form-input').val('');
          }
        },
        error: function (xhr, status, err) {
          console.error(status, err.toString());
          alert('ERROR, YOU DID SOMETHING WRONG!!!');
        } });
      this.setState({
        firstName: '',
        lastName: '',
        email: '',
        subject: '',
        message: '' });
    });this.state = { name: '', email: '', subject: '', message: '' };}
  render() {
    return /*#__PURE__*/(
      React.createElement("form", { className: "react-form", onSubmit: this.handleSubmit }, /*#__PURE__*/
      React.createElement("h1", null, "Connect with us!"), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formName", title: "Full Name:" }), /*#__PURE__*/
      React.createElement("input", { id: "formName", className: "form-input", name: "name", type: "text", ref: "formName", required: true, onChange: this.handleChange, value: this.state.name })), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formEmail", title: "Email:" }), /*#__PURE__*/
      React.createElement("input", { id: "formEmail", className: "form-input", name: "email", type: "email", required: true, onChange: this.handleChange, value: this.state.email })), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formSubject", title: "Subject:" }), /*#__PURE__*/
      React.createElement("input", { id: "formSubject", className: "form-input", name: "subject", type: "text", required: true, onChange: this.handleChange, value: this.state.subject })), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formMessage", title: "Message:" }), /*#__PURE__*/
      React.createElement("textarea", { id: "formMessage", className: "form-textarea", name: "message", required: true, onChange: this.handleChange })), /*#__PURE__*/
      React.createElement("div", { className: "form-group" }, /*#__PURE__*/
      React.createElement("input", { id: "formButton", className: "btn", type: "submit", placeholder: "Send message", value: "Send" }))));
  }}
;
ReactDOM.render( /*#__PURE__*/React.createElement(ReactForm, null), myForm);
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js'></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- This script got from frontendfreecode.com -->

<script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js'></script>
<style>
@import url("https://fonts.googleapis.com/css?family=Audiowide");
@import url("https://fonts.googleapis.com/css?family=Contrail+One");
@import url("https://fonts.googleapis.com/css?family=Press+Start+2P");
body {
  background-color: #130d26;
  color: #c69e71;
  font-family: "Contrail One", cursive;
  text-shadow: -1px -1px 5px #130d26, 1px -1px 5px #644f42, -1px 1px 5px #130d26, 1px 1px 5px #644f42;
}
#content {
  height: 520px;
  width: 400px;
  margin: 10vh auto;
  border-radius: 0px 25px;
  background: linear-gradient(#644f42, #130d26);
  border: 4px solid rgba(204, 211, 235, 0.6);
  box-shadow: 3px 3px 30px snow;
}
h1 {
  display: block;
  text-align: center;
}
fieldset {
  border: none;
  text-align: center;
  display: block;
  padding: 20px 0px;
}
fieldset input, fieldset #formMessage {
  background-color: #644f42;
  border: 1px solid rgba(204, 211, 235, 0.6);
  width: 60%;
  color: rgba(204, 211, 235, 0.6);
  text-align: center;
  font-size: 18px;
  border-radius: 0 15px;
}
fieldset label {
  display: block;
}
#formButton {
  display: block;
  margin: 0 auto;
  font-size: 16px;
  line-height: 32px;
  width: 120px;
  background-color: #644f42;
  color: #c69e71;
  border: 1px solid rgba(204, 211, 235, 0.6);
  cursor: pointer;
  font-family: "Press Start 2P", cursive;
  text-transform: lowercase;
  border-radius: 0 15px;
}
#formButton:hover {
  background-color: #130d26;
}
</style>

</head>
<body>
<div id="content">
</div><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com">Free Frontend</a></div>
<script>
function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}const myForm = document.querySelector('#content');
class ReactFormLabel extends React.Component {
  constructor() {
    super();
  }
  render() {
    return /*#__PURE__*/(
      React.createElement("label", { htmlFor: this.props.htmlFor }, this.props.title));
  }}
class ReactForm extends React.Component {
  constructor() {
    super();_defineProperty(this, "handleChange",
    e => {
      let newState = {};
      newState[e.target.name] = e.target.value;
      this.setState(newState);
    });_defineProperty(this, "handleSubmit",
    (e, message) => {
      e.preventDefault();
      let formData = {
        formSender: this.state.name,
        formEmail: this.state.email,
        formSubject: this.state.subject,
        formMessage: this.state.message };
      if (formData.formSender.length < 1 || formData.formEmail.length < 1 || formData.formSubject.length < 1 || formData.formMessage.length < 1) {
        return false;
      }
      $.ajax({
        url: '#',
        dataType: 'json',
        type: 'POST',
        data: formData,
        success: function (data) {
          if (confirm('Thanks for signing up, we will chat soon!')) {
            document.querySelector('.form-input').val('');
          }
        },
        error: function (xhr, status, err) {
          console.error(status, err.toString());
          alert('ERROR, YOU DID SOMETHING WRONG!!!');
        } });
      this.setState({
        firstName: '',
        lastName: '',
        email: '',
        subject: '',
        message: '' });
    });this.state = { name: '', email: '', subject: '', message: '' };}
  render() {
    return /*#__PURE__*/(
      React.createElement("form", { className: "react-form", onSubmit: this.handleSubmit }, /*#__PURE__*/
      React.createElement("h1", null, "Connect with us!"), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formName", title: "Full Name:" }), /*#__PURE__*/
      React.createElement("input", { id: "formName", className: "form-input", name: "name", type: "text", ref: "formName", required: true, onChange: this.handleChange, value: this.state.name })), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formEmail", title: "Email:" }), /*#__PURE__*/
      React.createElement("input", { id: "formEmail", className: "form-input", name: "email", type: "email", required: true, onChange: this.handleChange, value: this.state.email })), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formSubject", title: "Subject:" }), /*#__PURE__*/
      React.createElement("input", { id: "formSubject", className: "form-input", name: "subject", type: "text", required: true, onChange: this.handleChange, value: this.state.subject })), /*#__PURE__*/
      React.createElement("fieldset", { className: "form-group" }, /*#__PURE__*/
      React.createElement(ReactFormLabel, { htmlFor: "formMessage", title: "Message:" }), /*#__PURE__*/
      React.createElement("textarea", { id: "formMessage", className: "form-textarea", name: "message", required: true, onChange: this.handleChange })), /*#__PURE__*/
      React.createElement("div", { className: "form-group" }, /*#__PURE__*/
      React.createElement("input", { id: "formButton", className: "btn", type: "submit", placeholder: "Send message", value: "Send" }))));
  }}
;
ReactDOM.render( /*#__PURE__*/React.createElement(ReactForm, null), myForm);
</script>

</body>
</html>
Preview