onSubmit()在React.js中不起作用

abu*_*abu 2 forms reactjs

我有一个form像下面

<form className="ui form" onSubmit={this.update}>
     <input type="text" defaultValue={this.props.element} onChange={this.handleChange1}/>
     <input type="button" value="Update" className="ui positive icon button"/>
 </form>
Run Code Online (Sandbox Code Playgroud)

我的更新功能如下

update = event => {
   console.log('hello');
   event.preventDefault();  
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.

Tho*_*lle 6

提交按钮不应该是类型button,而是类型submit.

class App extends React.Component {
  update = event => {
    console.log("hello");
    event.preventDefault();
  };

  render() {
    return (
      <form className="ui form" onSubmit={this.update}>
        <input
          type="text"
          defaultValue={this.props.element}
          onChange={this.handleChange1}
        />
        <input
          type="submit"
          value="Update"
          className="ui positive icon button"
        />
      </form>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("root"));
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="root"></div>
Run Code Online (Sandbox Code Playgroud)


sta*_*eth 5

你的按钮应该是 type='submit'