In javascript/jQuery, before a file upload plugin is called, a variable is set:
doc_type = "q";
Then, the plugin is initialized. Within the plugin options is: onSelect:
, which is called when files are selected. Code looks like this:
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()
Problem:
In the upload processor upload_files_processor.php
, the received doc_type
value is:
$doc_type = $_POST["doc_type"]; // q
How can I receive the value W
?
References: heyageek jquery upload file plugin website -- click on API & Options
tab
In your code, instead of formData: {"project_num":project_num,"doc_type":doc_type},
use this:
dynamicFormData: function()
{
return {
project_num: $("#pnum").val(),
doc_type: $('#hidden_input').val()
};
},
And remove the lines var doc_type = "q";
and var project_num = $("#pnum").val()