我找不到爲什麼.getJSON在通過條件語句調用父函數時拋出錯誤。當if語句被註釋掉時,似乎沒有問題,並且.getJSON被調用。但是,我希望用戶完成其輸入(通過按Enter鍵指示)。
的HTML
<div class="text-center searchBar">
<form action="">
<input type="text" id="searchText" />
</form>
</div>
<div class="container displayResults"> </div>
的JavaScript:
$(document).ready(function() {
$('#searchText').keyup(function(e) {
var searchItem = $('#searchText').val();
var link = 'https://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&exintro&exlimit=max&inprop=url&generator=search&gsroffset=&format=json&formatversion=2&callback=?&gsrsearch=' + searchItem;
if(e.which == 13) { //if user returns enter key
wikiCall(link);
}
});
});
function wikiCall(wikiLink) {
$.getJSON(wikiLink, function(searchResults) {
for (var i = 0; i < searchResults.query.pages.length; i++) {
$(".displayResults").append("<div class='searchResultsContainer'><span style='font-weight:bold; font-size:150%; margin-bottom:100px;'>" + searchResults.query.pages[i].title + "</span><br></br>" + searchResults.query.pages[i].extract + "</div>");
$(".displayResults").append("<br>");
}
}).fail(function(jqxhr,textStatus,error){
alert(textStatus+": "+error);
});
}
什麼是錯誤..? – fzxt
您可能想嘗試禁用表單提交事件。 ('submit',function(e){e.preventDefault(); return false;});'''當用戶按下回車鍵時避免表單提交。在將數據附加到主體之前,還要檢查響應是否具有「查詢」鍵。 – LucasFerreira
@LucasFerreira謝謝,避免輸入時按下提交表單提供的技巧。 – CodingerSK