2011-09-18 67 views
2

我正在使用this AJAX圖像上載器腳本和我想要做的是傳遞一個隱藏的變量。PHP從AJAX圖像上傳器獲取隱藏變量

<input type="hidden" name="test" value="test" /> 

但由於沒有真正的提交按鈕,它是所有基於AJAX的,我不能就這麼叫$_POST['test']; jQuery的的

部分是:

if (formdata) { 
    $.ajax({ 
     url: "upload.php", 
     type: "POST", 
     data: formdata, 
     processData: false, 
     contentType: false, 
     success: function (res) { 
      document.getElementById("response").innerHTML = res; 
     } 
    }); 
} 

它也許應該去的地方在那裏,但我不知道如何處理這個。如果有人有任何建議,我會很感激。

謝謝!

回答

3

試試這個: 只要給你的隱藏輸入自己的ID,所以我們可以參考,並得到價值。在這種情況下,我使用hidden_input

if (formdata) { 
    //New line is below! 
    formdata.append("test",$('#hidden_input').val()); 
    $.ajax({ 
     url: "upload.php", 
     type: "POST", 
     data: formdata, 
     processData: false, 
     contentType: false, 
     success: function (res) { 
      document.getElementById("response").innerHTML = res; 
     } 
    }); 
} 

那麼你upload.php應該能夠$_POST['test']

+0

謝謝Brian! – Drew

3

但由於沒有真正的提交按鈕,它都是基於AJAX的,我不能直接調用$ _POST ['test'];

當然可以。 AJAX可以在type參數中發送任何您想要的標題。如果將type:'post'與現在一樣,name="test"的字段將可通過$_POST['test']

您可以讓任何事件觸發ajax,包括頁面加載。

$('somenode').bind('someevent',function(){ 

所以,說你想的AJAX發佈每一個字段值發生改變時:

$('input').change(function(){ 
    $.ajax({ 
     url: "upload.php", 
     type: "POST", 
     data: formdata, 
     processData: false, 
     contentType: false, 
     success: function (res) { 
      $('#response').html(res); 
     } 
    }); 
}); 
+0

此訪問值不回答OP的質詢。問題是詢問如何通過POST將附加值發送到php腳本。 –

+0

不知道你是如何得到他的問題,但良好的工作:) – AlienWebguy

+0

如果問題不太清楚,我很抱歉。儘管感謝您的幫助! – Drew