0
在將表單中的數據發送到Rails控制器之前,我需要做一些JavaScript工作。jQuery - 檢測表單是否通過按ENTER發送出去
這是(在短)我的形式:
<form action="/results" class="search_users" method="POST">
...
<a class='search_users_btn' href='' id="search_users_form">
<span class="streamline" aria-hidden="true">Search</span>
</a>
</form>
當點擊Search
按鈕,然後這片JS的處理是:
$(".search_users_btn").click(function(e) {
var location;
e.preventDefault();
location = $(".location_user").val();
$.when(geocodeFrom(location)).done(function() {
$(".search_users").submit();
});
});
問題是,當用戶點擊ENTER
,因爲那麼上面的JavaScript代碼不會被執行。我試着添加以下內容:
$(".search_users").keypress(function(ev){
if (ev.keyCode == 13) {
console.log('xx');
//$("form")[0].submit();
}
});
但這個片段不處理,當用戶打ENTER
和瀏覽器立即發送形式控制器。
如何處理用戶在Javascript中按下ENTER
的情況?
我相信你需要做一個遍歷所有'.search_users input'然後添加按鍵事件。 – abc123
看看stopPropagation()函數來自己處理事件https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation – jazzytomato
我不明白,但我的建議是在使用ajax的成功函數中使用按鍵功能。 –