我有一个带有电子邮件输入的表单。如何防止在输入字段中按Enter键时发生重定向?
<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>
当按钮被按下时,我用简单的正则表达式验证,确认它的电子邮件地址,这工作正常。不过,如果我按enter键(key=13
),它引导到一些其它页面,这是我看到的错误:
无法发布/
我想这个脚本会处理这个问题,但它没't:
handleChange = (event) => {
event.preventDefault();
var keyCode = event.keyCode || event.which;
if (keyCode == '13'){
console.log('enter pressed');
}
}
发生了什么事?如何防止在输入字段中按Enter键时发生重定向?你可以帮我吗。谢谢。
您是否尝试过处理'onKeyPress'事件?另外,当按Enter键时尝试返回'false'。你需要在事件连接中返回'handleChange'(类似于'') –
@joe_coolish'onKeyPress'实际上有助于防止重定向。谢谢。 – Karl
好听!如果您觉得它应该有复选标记,我将我的建议作为答案加入 –