使用jQuery的AJAX请求不发布表单数据

时间:2011-04-14 10:41:02

标签: jquery ajax search

我正在尝试创建一个搜索表单,用于发布从MySQL数据库查询的结果,但我遇到了麻烦。查询运行正常,但在我的表单字段中输入的信息不是“发布”到php文档中并实际通过

    <form name="IDsearchform" action="">
    <input class='required digits' type="text" value="" maxlength='8' minlength='8' name="term" id="search" />
    </form>


$(document).ready(function(){
    //show loading bar
    function showLoader(){
        $('.search-background').fadeIn(200);
    }
    //hide loading bar
    function hideLoader(){
        $('#sub_cont').fadeIn(1500);
        $('.search-background').fadeOut(200);
    };
    $('#search').keyup(function(e) {
      if(e.keyCode == 13) {
        showLoader();
        $('#sub_cont').fadeIn(1500);
        $("#content #sub_cont").load("<?php bloginfo('template_directory'); ?>/searchID.php", hideLoader());
      }
      });     
    $(".searchBtn").click(function(){   
        //show the loading bar
        showLoader();
        $('#sub_cont').fadeIn(1500);         
        $("#content #sub_cont").load("<?php bloginfo('template_directory'); ?>/searchID.php", hideLoader());
    });
});

2 个答案:

答案 0 :(得分:1)

您需要做的是首先序列化表单数据,然后将其发送出去。否则jquery不会发送表单数据。这就是你需要做的 -

$("#content #sub_cont").load("<?php bloginfo('template_directory'); ?>/searchID.php",$("#IDsearchform").serialize(), hideLoader());

这样你的表单发布数据会自动发送我的jQuery。

答案 1 :(得分:0)

您应该在调用$ .load()时包含额外参数:

$("#content #sub_cont").load("<?php bloginfo('template_directory'); ?>/searchID.php",
 {term:$(#search.value)}, hideLoader());

首先包含数据非常重要。 ;-)其次,您要确保数据是一个对象,以便jquery将执行POST而不是GET。

Source