我有一个神秘的问题:当我点击按钮或按回车键时,什么也没发生。
Row = ReactBootstrap.Row
Col = ReactBootstrap.Col
Input = ReactBootstrap.Input
Button = ReactBootstrap.Button
@NewSession = React.createClass
handleSubmit: (e) ->
alert 'f'
e.preventDefault()
Dispatcher.query('sessions', {}, 'POST')
render: ->
<form onSubmit={@handleSubmit} noValidate>
<Row>
<Col md={6} mdOffset={3} className='text-center'>
<Input type='text' placeholder='Your username' ref='login' />
<Input type='text' placeholder='Your password' ref='password' />
<Button bsStyle='success'>Sign in</Button>
</Col>
</Row>
</form>
这种奇怪行为的原因是什么?为什么handleSubmit不起作用?
已更新
如果我在按钮上放置onClick={@handleSubmit}
处理程序,则单击是有效的
答案 0 :(得分:1)
您没有任何提交事件...您需要在render方法中声明一个type = submit。然后,您可以使用onSubmit事件处理函数。示例如下:
<form onSubmit={this.handleSubmit.bind(this)}>
<div className="form-group col-sm-7">
<input type="text" className="form-control" ref="inputmessage" id="inputDefault" />
</div>
<div className="form-group col-sm-5">
<button type="submit" className="btn btn-block btn-primary">Send Message </button>
</div>
</form>
答案 1 :(得分:1)
react-bootstrap Button
个组件default to type="button"
,因此您需要添加type="submit"
来创建提交按钮。
<Button type='submit' bsStyle='success'>Sign in</Button>