我有一個帶有電子郵件輸入的表單。如何防止在輸入字段中按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
好聽!如果您覺得它應該有複選標記,我將我的建議作爲答案加入 –