2014-07-03 32 views
-3

目前我正在使用一個從xml文件讀取數據的php腳本。用戶首先必須通過使用下拉菜單來選擇他希望獲得更多信息的xml條目,然後通過單擊提交按鈕將表單發送到同一個php頁面。由於頁面重新加載,它可以看到POST已發送了某些內容,然後可以向頁面底部的此xml條目顯示請求的信息。沒有與AJAX和jQuery刷新PHP的POST?

但我想使它更方便用戶。這個想法是,當有人從下拉菜單中選擇一個條目時,所顯示的信息不需要點擊提交按鈕,當然也不需要重新加載整個頁面。這意味着POST表單將在後臺發送,並且在從下拉列表中選擇一項後,信息將立即顯示。

我知道這是可能的使用jQuery和AJAX,但我沒有真正體驗過這些語言之一。任何人有一個想法如何解決這個問題? :)

感謝

+2

檢查[此](http://stackoverflow.com/questions/5004233/jquery-ajax-post-example-with-php)也[w3schools.com](http://www.w3schools.com/ JQuery/ajax_ajax.asp) – AkshayP

+2

@AP我認爲的第一個鏈接就足夠了......那個w3鏈接.. –

+0

請在互聯網上搜索這樣的基本應用程序,你會得到成千上萬的鏈接! –

回答

1

複製下面的js代碼在你的主文件,你必須下拉: -

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('select').change(function(){ 
      var dwxvar = $(this).val(); 
      $.ajax({ 
       type: "POST", 
       url: "http://localhost/dwx/phpcodefile.php", 
       data: {dwx:dwxvar}, 
       cache: false, 
       dataType: 'json', 
       success: function(data_val){ 
       alert(data_val); 
       $("#result").html(data_val); 
       } 
      }); 
     }); 
    }); 
</script> 

我假設這是你的下拉菜單: -

<select> 
    <option value="1">Value 1</option> 
    <option value="2">Value 2</option> 
    <option value="3">Value 3</option> 
    <option value="4">Value 4</option> 
</select> 

你必須要與輸出所需的唯一代碼(PHP)一個單獨的PHP文件(比如phpcodefile.php): -

<?php 
    $varname = $_POST["dwx"]; // this is the same variable which we have sent here data: {dwx:dwxvar}, 
    // -- now using this value perform whatever action you want to perform below -- 


    //Next try to put the result in a variable so as to return value to ajax call as we do for functions with return type. Suppose the variable name is **$alldata** 
    echo $alldata;  
?> 

什麼都已經打印上phpcodefile.php文件將返回,您將能夠看到在警報()。這意味着所有的數據是現在「data_val」這裏

success: function(data_val){ 
    alert(data_val); 
} 

現在你有這個data_val追加到一些標籤

<div id="result"></div> 

這樣

$("#result").html(data_val); 

嘗試以這種方式執行你的代碼,它會以你想要的方式工作。 如果你會發現任何問題,那麼我需要看到你的完整的HTML和PHP代碼。

1

您可以使用按鈕點擊下面的代碼: -

<div id="result"></div> 
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 

jQuery.ajax({ 
     url:'TO YOUR PHP PAGE',  
     type:'POST', 
     data:'id='+id, 
     success:function(results) 
     { 
      jQuery("#result").html(results); 

     } 
    });