【发布时间】:2020-09-21 22:16:18
【问题描述】:
我有以下代码:
@using (Html.BeginForm("Search", "Home", FormMethod.Get,new { id="searchform",@onsubmit="seachformsubmit(event);" }))
{
<div class="searchTop">
<div class="searchField posRelative">
<input type="text" name="search" data-resultslimit="12" data-url="@Url.Content("~/Home/_AutoSuggestSearchResult")" placeholder="Search products..." id="txtsearch" onkeyup="onsearchkeyup(this);" />
<span id="spsearcherror" class="errormsgsearch" style="display:none">At least 3 characters...</span>
</div>
<div class="searchAction blackBtn"><a href="javascript:;" onclick="searchsubmit(event);">View Results</a></div>
<div class="clearBoth"></div>
</div>
}
Javascript
function onsearchkeyup(sender) {
$("#spsearcherror").hide();
var vle = $(sender).val();
if (vle != "") {
if (vle.length < 3) {
$("#spsearcherror").show();
}
else {
InitSearch();
}
}
}
function InitSearch() {
var elem = $("#txtsearch");
$.ajax({
type: "POST",
url: elem.data("url"),
data: AddFormAntiForgeryToken({ 'keyword': elem.val(), 'recordsLimit': elem.data("resultslimit") }),
dataType: 'json',
beforeSend: function () {
$(".searchresult.ajaxloader").show();
},
success: function (data) {
$(".searchresult.ajaxloader").hide();
$("#ulsearch").html(data.html);
setTimeout(function () {
pushBlockCarousel();
matchHeightfnct();
}, 300);
}
});
}
我的问题是_AutoSuggestSearchResult 被触发了很多次,我需要找到一种方法来防止它在每次按键时触发那么多
有什么建议和帮助吗?
【问题讨论】:
标签: javascript ajax asp.net-mvc search autocomplete