0

When I enter something and press key 'Enter' then form submits and page reloads. How to prevent submitting form?

class Application extends React.Component {
  render() {
    return (
      <div>
        <form>
          <label for="fname">First name:</label>
          <input type="text" id="fname" name="fname" />
          <label for="lname">Last name:</label>
          <input type="text" id="lname" name="lname" />
          <button type="submit">ok</button>
        </form>
      </div>
    );
  }
}

example https://codepen.io/geeny273/pen/OJVpQmd

2 Answers2

0

If you don't want to use jQuery try doing this

class Application extends React.Component {
  handleKeyDown(event) {
      if (event.keyCode === 13) {
          event.preventDefault();
      }
  }  

  render() {
    return (
      <div>
        <form onKeyDown={this.handleKeyDown}>
          <label for="fname">First name:</label>
          <input type="text" id="fname" name="fname" />
          <label for="lname">Last name:</label>
          <input type="text" id="lname" name="lname" />
          <button type="submit">ok</button>
        </form>
      </div>
    );
  }
}
Vuk Stanković
  • 7,864
  • 10
  • 41
  • 65
0

Define an onSubmit() handler on the <form> element.

Ryuno-Ki
  • 692
  • 1
  • 6
  • 8