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

时间:2018-07-25 14:18:26

标签: reactjs forms

我有一个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>

我的更新功能如下所示

update = event => {
   console.log('hello');
   event.preventDefault();  
}

但是它不起作用。

2 个答案:

答案 0 :(得分:5)

提交按钮的类型不应为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"));
<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>

答案 1 :(得分:2)

您的按钮应为type='submit'