我有这个代码,允许我每隔几秒重新加载页面的内容。
function()
{
$('#lista').show().load('listaupdate.php').fadeIn("slow");}, 3000);
现在问题是,我有一个搜索表单,但是,我在搜索时应该如何防止刷新?
或者它可以刷新好,但是在完成搜索之后,以及在给出结果之后。 这与分页相同,如果我转到第2页,那么它会刷新并带我到第1页。
我该如何解决这个问题? 感谢
搜索表单:
<form action="listasearch.php" method="post">
<select name="kategoria">
<option value="dyqani_pergjegjes">Dyqani Përgjegjës</option>
</select>
<input type="text" name="search">
<input type="submit">
</form>
答案 0 :(得分:0)
我看到这一点你有两种选择:
选项1:使listaupdate.php只返回数据并对其进行AJAX调用,而不是加载并在完整的处理程序中构建标记(这个想法是没有意义重新加载整个页面,包括搜索表单 - 只需要更新的数据)。请参阅http://api.jquery.com/jQuery.get/
选项2 - 在用户使用搜索字段时取消更新(坦白说不是更好的解决方案,但仍然如此)。做类似的事情:
var interval = setInterval(function(){
$('#lista').show().load('listaupdate.php').fadeIn("slow");}, 3000);
听一些与搜索相关的事件(如果焦点不合适,请自己制作一个):
$('input[name="search"]').on("focus", function(event){
interval = clearInterval(interval);
});
// restart it when search is done
$("form").submit( function(event){
interval = setInterval(function(){
$('#lista').show().load('listaupdate.php').fadeIn("slow");}, 3000);
});