我在我的网站上进行了搜索,并且尝试获取建议,以便在用户键入内容时显示。该方法可以很好地完成我想要的操作,但是如果有人快速键入并按了命中键进入页面,则该页面仍会尝试赶上并获得建议,然后再重定向到实际的搜索页面。
我想知道是否有某种方法可以提高效率,是否可以在调用search_suggestions
函数的情况下停止search
函数的完成,或者是否有更好的方法来调用{{ 1}}而不是search_suggestions
?
HTML:
onkeyup
JS:
<label for="searchbox">Search</label>
<input type="text" name="searchbox" id="searchbox" onkeyup="searchsuggestions();" autocomplete="off">
<input type="image" src="media/icons/search.png" id="search_button" name="search_button" onclick="search(); return false;">
<div id="search_suggestions"></div>
PHP:
function search(){
var search_term = $("#searchbox").val();
search_term = search_term.replace('/','');
if(search_term != ""){
window.location.href = "search/"+search_term;
}
}
function searchsuggestions(){
var search_text = $("#searchbox").val();
if(search_text!="" && search_text.length>3){
$.post("get_search_suggestions.php", {search_text: search_text}, function(output){
$("#search_suggestions").html(output);
});
}
}