关于我的情况的一些话:我正在使用ReactJS构建表单,如果它有< input type =“submit”>元素它工作正常:通过按输入[type =“text”]并按下提交元素提交表单(如果没有任何更改,则表单未提交时,ReactJS也会进行工作检查).
但是,如果我用< button> ButtonLabel< / button>替换输入[type =“submit”]我尝试使用两种方式:
>获取表单DOMNode元素并调用.submit()方法,这是不正确的,因为它不使用内部ReactJS逻辑
>将params传递给按钮
< button type =“submit”form =“form-id”>
但它仍然没有使用ReactJS检查(如果没有任何改变,我不想提交表格)
所以如果有人建议我如何使用BUTTON元素正确地在ReactJS中提交表单,我将非常感激.
谢谢!
解决方法
如果将类型设置为提交按钮并且表单具有onsubmit处理程序,则button元素应该完全按照您的预期工作.
<form ref="form" onSubmit={this.handleSubmit}> <button type="submit">Do the thing</button> </form>