【发布时间】:2017-07-28 05:48:13
【问题描述】:
当我在表单上按 Enter 时,它不会触发 onSubmit 事件。没有错误。另一个事件 onBlur 确实调度。 logForm 函数最终将 console.log 所有表单字段的 JSON 字符串,但我还没有做到这一点。我只是想触发表单上的 onSubmit 事件。任何帮助或解释将不胜感激。 代码如下:
import React from 'react'
export default function SignupForm() {
return (
<form onSubmit={logForm}>
<div className="form-group">
<label>
Name:
<input onBlur={logUpdate} className="form-control"
type="text" placeholder="Username"/>
</label>
</div>
<div className="form-group">
<label>
Email:
<input onBlur={logUpdate} className="form-control"
type="text" placeholder="johndoe@example.com"/>
</label>
</div>
<div className="form-group">
<label>
Password:
<input onBlur={logUpdate} className="form-control"
type="password" placeholder="Password"/>
</label>
</div>
<div className="form-group">
<label>
Confirm Password:
<input onBlur={logUpdate} className="form-control"
type="password" placeholder="Password"/>
</label>
</div>
</form>
)
}
function logForm(e) {
e.preventDefault()
const formInfo = new FormData(e.target)
console.log(formInfo)
}
function logUpdate(e) {
console.log(e.target.value)
}
【问题讨论】:
-
你的表单没有按钮,所以它不会提交表单
-
我认为 onSubmit 在您按下“输入”键时有效?
-
回车键默认不提交。正如@TryingToImprove 所写,尝试在表单底部添加一个按钮,这样也可以解决问题。
-
感谢您解决了我的问题
标签: javascript reactjs