Javascript 按钮输入类型submit未在React with React路由器中提交
我在尝试使用的按钮中添加了NavLink引用(来自React路由器)的React.js上下文原因。无论哪种方式,当我要提交数据时,请使用:Javascript 按钮输入类型submit未在React with React路由器中提交,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我在尝试使用的按钮中添加了NavLink引用(来自React路由器)的React.js上下文原因。无论哪种方式,当我要提交数据时,请使用: submitData(event) { event.preventDefault(); alert("Submitted"); } 这将有助于: <FormGroup> <input type="submit" /> </FormGroup> 但这不会: <FormGroup>
submitData(event) {
event.preventDefault();
alert("Submitted");
}
这将有助于:
<FormGroup>
<input type="submit" />
</FormGroup>
但这不会:
<FormGroup>
<Button type="submit" id="submitButton" color="primary"><NavLink to="/Confirm">Submit</NavLink></Button>
</FormGroup>
提交
不确定为什么第二种方法不起作用,但这是我首选的方法。有什么想法或想法来解释原因吗?我知道
较新,但是添加type=“input”
应该会迫使它继续工作。导航链接组件已经在侦听它自己的提交/单击事件,该事件不会传播到您自己表单的onSubmit
简单的解决方案是将NavLink
的onClick绑定到您自己的处理程序:
<FormGroup>
<Button type="submit" id="submitButton" color="primary">
<NavLink to="/Confirm" onClick={this.submitData.bind(this)}>Submit</NavLink>
</Button>
</FormGroup>
提交
谢谢,但这不会让
在以后重定向。就像表单提交一样,它只是停止,然后不会重定向到确认页面。请删除事件.preventDefault()
。