【发布时间】:2019-08-10 05:42:00
【问题描述】:
我无法按 Enter 键提交表单
<Form onSubmit={this.handleFormSubmit}>
<Link to="/back"><Button> Back</Button></Link> // back button
<FormGroup>
<Label htmlFor="name">Name</Label>
<Input name="name" type="text"/>
</FormGroup>
<Button type="submit"><i className="fa fa-dot-circle-o"></i> Submit</Button>
<Button type="reset" onClick={this.HandleReset}><i className="fa fa-ban"></i> Reset</Button>
</Form>
回车键必须触发此功能
handleFormSubmit = event => {
event.preventDefault();
// more core here
}
当我按下回车键时,带有链接的表单中的后退按钮正在执行。
当我评论后退按钮时,它工作正常,即表单正在提交(我可以使用 preventDefault() 来控制它)。
当表单中存在链接时,我如何使用表单 onSubmit ?
【问题讨论】:
-
没有足够的信息可以提供帮助,但我会尝试将
<Link />放在<Form />的末尾。如果这解决了您的问题,您可以推断当 是第一个元素时,它是第一个 interactive 元素,并且按下回车键会单击它而不是您的提交按钮。干杯。 -
@BhargavShah 但我不能在任何地方放置按钮。我为什么要更改表单的ui。我也可以使用输入按键事件,然后提交该表单,但这不是通用解决方案。
-
你不应该,那是调试和发现问题。如果您提供更多信息,可能是您设置的在线 REPL,我将能够为您提供更好的帮助。
-
@BhargavShah 是的,当我改变它的位置时,它也在我删除/评论后退按钮代码时工作。
标签: reactjs form-submit reactstrap