我有一个包含电子邮件输入框的表单。
当按下按钮时,我使用简单的正则表达式进行验证以确认它是一个电子邮件地址,这个功能很好。然而,如果我按下回车键(
<form action="." method="post">
<div id="email-wrapper">
<input type="text" placeholder="Your email" name="email" ref="email" onChange={this.handleChange}/>
</div>
<span class="signup-error">Please provide a valid email.</span>
</form>
....
....
<button id="next-btn" onClick={this.saveAndContinue}>Next</button>
当按下按钮时,我使用简单的正则表达式进行验证以确认它是一个电子邮件地址,这个功能很好。然而,如果我按下回车键(
key=13
),就会跳转到其他页面,出现以下错误信息:
我认为这个脚本应该能够解决问题,但实际上并没有成功:Cannot POST /
handleChange = (event) => {
event.preventDefault();
var keyCode = event.keyCode || event.which;
if (keyCode == '13'){
console.log('enter pressed');
}
}
发生了什么?当我按下输入框中的回车键时,如何防止重定向?请帮助我。谢谢。
onKeyPress
事件吗?此外,当按下 Enter 键时,请尝试返回false
。您需要在事件绑定中返回handleChange
(类似于<input type="text" onKeyPress="return handleChange(event)" />
)。 - joe_coolishonKeyPress
实际上帮助防止了重定向。谢谢。 - Karl