在页面上提交加载AJAX

时间:2014-03-19 16:27:28

标签: javascript php jquery ajax get

我对AJAX和Jquery很新,所以我想知道是否有人可以帮助我。

我做了一个AJAX搜索/过滤系统。当您发送表单时,新页面(filter_content.php)将加载到父页面(filter.php)。 filter_content.php的输出基于一些GET值,您可以在filter.php上填写表单

$("#filter").submit(function(event) {
event.preventDefault();
$("#result").html('');
var values = $(this).serialize();
$.ajax({
    url: "filter_content.php",
    type: "get",
    data: values,
    success: function(data){
        $('#result').hide().html(data).fadeIn('normal');
    },
    error:function(){
        $("#result").html('There is error while submit');
    }
});
});

HTML:

<form action="" name="filter" method="get" id="filter">
<input type="text" name="s" value="<?php echo $_GET['s']; ?>" />
<select id="genre" name="genre">
<option value="0">Alle</option>
<option value="5">Deep house</option>
</select>
<input type="submit" name="submit" value="Filter" />
</form>

我现在遇到的问题是当我访问时“filter.php?query = hello”将使用“hello”填充搜索查询框,但加载了ajax的内容无法读取查询值,因此内容只会在没有任何条件的情况下显示。我希望有人可以帮助我!

提前致谢!

P.S。这是一个有效的例子:http://phpserver.de-breul.nl:8082/~106967/pov6/filter2.php

1 个答案:

答案 0 :(得分:0)

最佳解决方案是让PHP代码从一开始就输出结果。

但如果您仍然希望客户进行搜索,请在有值时提交表单。

$(function(){
    if ($('input[name="s"]').val().length>0) {
        $("#filter").submit();
    }
});