2014-04-01 27 views
1

如果之前已經回答了問題,我很抱歉,但是我已經填充了來自PHP ie的數據。帶選項的下拉菜單。我使用CodeIgniter並希望將PHP變量發回給我的控制器。使用AJAX傳遞發佈數據的PHP表單

我發現使用JQuery以下阿賈克斯後功能:

$.ajax({ 
    type: "POST", 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

在我來說,我已經叫主控制器和方法叫回傳(),所以我假設我會輸入以下命令:

$.ajax({ 
    type: "POST", 
    url: http://localhost/project/main/postback, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

但是我不知道如何通過使用代碼或什麼數據或數據類型字段中輸入,我再次道歉,如果這已經回答了,但我似乎無法想出解決辦法的PHP變量。

提前感謝

可有人告訴我,如果我在這過於複雜,如果我執行上述可我只是抓住所有的數據的背面使用控制器上: $ _ POST

+1

你在哪裏設置'data'數組的值? – Mooseman

+0

你在ajax url中的「httpI」是什麼意思? –

+0

其打字錯誤平靜下來 – TotalNewbie

回答

0

您可以使用jQuery這個

在PHP頁面使用

<a href='#' onclick="showDiv('<?php echo $val; ?>')" class="classname">Edit</a> 

jQuery函數

<script> 
function showDiv(id) 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    {      
     //do something as it is equivalent to an ajax success function 
    } 
} 
xmlhttp.open("GET","your-php-page.php?id="+id,true); 
xmlhttp.send(); 
</script> 
+0

有一點,你說的jQuery,但它不是。 – Debflav

0

附上帶單引號的網址。

<script> 
$(document).ready(function(){ 
$("#sel").change(function(){ 
var data=(this).val(); 
$.ajax({ 
     type: "POST", 
     url: 'http://localhost/project/main/postback', 
     data: data, 
     success: function(data){ 
    alert(data); 
    } 

    }); 

}) 

}) 
</script> 



    //html part 
    <select id="sel"> 
    <option>1</option> 
    <option>2</option> 
    </select> 
+0

你拼錯了,它是'http://'。也許我並不是主流/回傳網址。不知道如何在CodeIgniter中定義url。無論如何,你的答案在生產環境中不起作用。 – Debflav

+2

它的確定theres一個名爲base_url()的函數,它會自動更改我剛剛沒有包含在示例 – TotalNewbie

+0

中的基礎URL。我拼錯了,我正在編輯我的答案。 – sunny

0

PHP變量可以傳遞作爲這樣

localhost/project/main/postback/variable 

在此變量的變量應該被視爲我們傳遞的參數。 所以在這裏你可以使用

'localhost/project/main/postback/'.<?=$variable?>.'' 

否則你可能會在形式的變量值分配給任何隱藏字段,可以從提交的表單數據本身訪問它作爲$this->input->post('hiddenfieldname');