0

问题是当我不使用 preventDefault() 时,页面会在提交时重新加载并隐藏。当使用 preventDefault 时,我的表单正在执行它在 onSubmit 中的操作,但在提交后它并没有隐藏。当我使用其他只有

onClick={this.props.onRequestHide}   

形式隐藏得很好。

如何在使用 onSubmit 完成后隐藏该表单。

  <Modal {...this.props} className="adressModal" bsStyle="primary" title='Adress Form' animation={false}>
    <form className="addressModal" onSubmit={this.handleSubmit} >
      <div className="modal-body">
        <Input type="text" placeholder="Enter Kraj" className="form-control" valueLink={this.linkState('address')} ref="address" hasFeedback required/>
      </div>
      <div className="modal-footer">
      <ButtonGroup>
        <Button className="btn btn-default" onClick={this.props.onRequestHide} data-dismiss="modal" active>Close</Button>
        <Button bsStyle="primary" className="btn btn-default" type="submit" disabled={this.state.isSubmitting} >Save</Button>
  </ButtonGroup>
  </div>
    </form>
</Modal>

代码只是来自 http://react-bootstrap.github.io/components.html#modals的 ModalTrigger 示例 和 React 基础教程
http://facebook.github.io/react/docs/tutorial.html的混合。

4

1 回答 1

3

你可以在this.props.onRequestHide函数内部调用handleSubmit函数

像这样的东西:

handleSubmit: function() {
  /* ... */
  this.props.onRequestHide();
  e.preventDefault();
},
于 2015-03-16T16:55:27.773 回答