2010-07-27 75 views
0

我試圖通過jquery在keydown上發送搜索文本框的值到php頁面,以便它可以顯示包含搜索關鍵字的結果。但是,php頁面並未讀取輸入文本框的$ _POST [不是按鈕]。

HTML:

.keydown(function() { 
    //create post data 
     var postData = { 
    "bsearch" : $(this).val() 
    }; 

     //make the call 
     $.ajax({ 
     type: "POST", 
     url: "quotes_in.php", 
     data: postData, //send it along with your call 
     success: function(response){ 
    $("#bquote").html(response); 
    } 
    }); 
}) 

. . . 

<!-- Begin Search --> 
     <div id="search" style="display:none;"> 
       <input type="text" class="bsearch" name="search" value="Search" /> 
     </div> 
<!-- End Search --> 

PHP:

include_once "inc/class.quotes.inc.php"; 
$quotes = new Quotes($db); 


if (isset($_POST['search'])) 
    //$quotes->searchQuotes(); 
    echo 'Searching. . '; 
else 
    $quotes->displayQuotes(); 

現在看來,這是不讀$_POST['search'],因爲它不會回顯文本'Searching. .',而是轉到其他部分並顯示引號。

我想這代碼,找出發生了什麼事:

echo "<pre>"; 
print_r($_POST); 
echo "</pre>"; 

這將顯示一個空數組。我究竟做錯了什麼?

+0

不螢火蟲顯示你的POST請求? – chelmertz 2010-07-27 17:45:30

+3

您的ajax調用填充'bsearch'而不是'搜索' – Fosco 2010-07-27 17:47:18

回答

1

要麼改變POSTDATA對象鍵 「搜索」 或檢查$ _ POST [ 'bsearch']

var postData = { "search" : $(this).val() };

+0

感謝您指出這一點! – input 2010-07-27 18:04:13

相關問題