【发布时间】:2017-01-08 23:32:46
【问题描述】:
我有 onkeyup 搜索功能,它工作正常,没有任何问题。 我希望当我在文本框中写入并且有一部分结果我想在不重新加载整个页面的情况下继续更新。
我已经使用下面的代码在 xxx 秒后自动刷新,它是使用下面的刷新代码刷新 div 的一部分,但是在键更改时,不是自动的。我需要它在 xxx 秒后自动刷新。
如果办公时间仍然有效或关闭,则结果中有关闭和打开按钮。如果我使用 OnKeyUp 进行搜索,它向我显示 TRAVEL office 的结果是打开的,并且 5 秒后它的时间将完成,因为我需要保持刷新代码在时间结束时工作并刷新它。
这里需要帮助,如果有人可以调整它。
刷新代码:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
setInterval(function() {
$('#pen').load('sample.php');
}, 1000); // the "3000"
});
HTML
<form class="well-home span6 form-horizontal">
<input type="text" id="book" onKeyUp="book_suggestion()">
</form>
<!-- Display Result of onkeyup Search -->
<div class="check" id="suggestion">
<!-- Refresh here -->
<div class="row check" id="pen">
</div>
</div>
onkeyup的JS
function book_suggestion() {
var book = document.getElementById("book").value;
var xhr;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
var data = "textboxSearch=" + book;
xhr.open("POST", "sample.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
xhr.onreadystatechange = display_data;
function display_data() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
document.getElementById("suggestion").innerHTML = xhr.responseText;
document.getElementById("suggestion").load = xhr.responseText;
} else {
alert('There was a problem with the request.');
}
}
}
}
【问题讨论】:
-
I want that when I will write in a textbox and there is a part of result I want to keep updating without reloading full page.您永远不会重新加载整个页面。 “我想在不重新加载整个页面的情况下继续更新”到底是什么意思?您的意思是要将 HTTP 请求获得的“建议”内容附加到建议 div(而不是使用替换 div 的全部内容.innerHTML 和 .load) -
@briosheje 如果办公时间仍然有效或关闭,则结果上有关闭和打开按钮。如果我使用 OnKeyUp 进行搜索,它向我显示 TRAVEL 办公室的结果是打开的,并且 5 秒后它的计时将完成,因为我需要保持刷新代码在时间结束时工作并刷新它。跨度>
标签: javascript php jquery