2016-09-18 91 views
1

我的PHP文件在阿賈克斯選擇功能

$option1 = filter_input(INPUT_POST, 'key', FILTER_SANITIZE_SPECIAL_CHARS); 

if(isset($option1) && !empty(option1)) { 
    $sql = "SELECT * FROM fantasy WHERE os_id='$option1'"; 
} 

我的AJAX

function filter(){ 
    var str = $("#advanced-search1").val(); 
    $.ajax({ 
    dataType: 'html', 
    url: "filter.php", 
    type: "POST", 
    data: {"key": str}, 
    success: function(response){ 
     $('#result').html(response); 
    } 
    }); 
} 

從上面,說我的選擇功能ID #先進搜索1,而我的提交按鈕將是onclick =「filter()」。但它仍然無法在我的php文件中執行sql命令。從我的網址瀏覽器,它說需要的選擇值,但它並不在我的#result格顯示任何

+0

你需要了解'submit'按鈕會做什麼 - 如果你想使用ajax,或者只是有一個不提交的按鈕來運行過濾器功能 –

+0

「,只需要一個按鈕即可不提交運行過濾器功能「 - 如何做到這一點? – nzrnfourtwenty

+0

控制檯記錄你成功的迴應。你有沒有收到任何數據? – Jagrati

回答

0

在過濾函數的開頭添加event.preventDefault();

function filter(event){ 

    event.preventDefault(); 

    var str = $("#advanced-search1").val(); 
    $.ajax({ 
    dataType: 'html', 
    url: "filter.php", 
    type: "POST", 
    data: {"key": str}, 
    success: function(response){ 
     $('#result').html(response); 
    } 
    }); 
} 

但是,您需要改變調用,也傳遞事件參數:

<button onclick="filter(event);" >..</button> 

相反的:

<button onclick="filter();" >..</button> 

如果不起作用,您必須報告您的PHP日誌以及HTML骨架。

+0

哦,感謝上帝,你真棒。我有另一個問題,我怎麼能通過2選擇ID兩個變量? – nzrnfourtwenty