在 javascript/jQuery 中,在调用文件上传插件之前,设置一个变量:
doc_type = "q";
然后,插件被初始化。在插件选项中是:onSelect:
,当选择文件时调用。代码如下所示:
var doc_type = "q";
$(function(){
var project_num = $("#pnum").val();
var uploadObj = $("#fileuploader").uploadFile({
url: "upload_files_processor.php",
method: "POST",
onSelect: function(){
doc_type = "W";
//Or:
//doc_type = $('#hidden_input').val(); <-- What I really need to do
return true;
},
allowedTypes:"pdf,doc,docx,xls,xlsx,ppt,pptx,bmp,jpg,png,zip",
fileName: "myfile",
formData: {"project_num":project_num,"doc_type":doc_type},
multiple: true,
autoSubmit: true,
showStatusAfterSuccess:false,
onSuccess:function(files,data,xhr) {
//Refresh documents table
},
});
}); //END document.ready()
问题:
在上传处理器upload_files_processor.php
中,接收到的doc_type
值为:
$doc_type = $_POST["doc_type"]; // q
我怎样才能收到值 W
?
引用文献:heyageek jquery upload file plugin website -- 点击API & Options
标签
最佳答案
如果您查看 Advanced api 的选项卡。有一个名为 dynamicFormData
的选项被执行并且 appears在发送之前附加到表单数据。
dynamicFormData: function() {
var data ={"doc_type":doc_type };
return data;
},
这就是您所需要的,因为 doc_type
将在发送之前而不是在创建时进行评估。
如果这行得通。我真的没有办法测试它
关于此特定实例中的 javascript 变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071410/