2011-09-18 68 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