【发布时间】:2016-11-29 04:43:23
【问题描述】:
我有一个包含电子邮件输入的表单。
<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),它会指向其他页面,这是我看到的错误:
无法发布/
我认为这个脚本可以解决问题,但它没有:
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_coolish
onKeyPress实际上有助于防止重定向。谢谢。 -
很高兴听到!我添加了我的建议作为答案,如果您觉得它值得打勾
标签: javascript html html-input