Reputation: 16072
This would seem stupid but i can't seem to understand the documentation. I'm talking about This plugin for file upload.
Now according to the documentation there's an option :
formData
Additional form data to be sent along with the file uploads can be set using this option, which accepts an array of objects with name and value properties, a function returning such an array, a FormData object (for XHR file uploads), or a simple object. The form of the first fileInput is given as parameter to the function.
Note: Additional form data is ignored when the multipart option is set to false.
Type: Array, Object, function or FormData Default: A function returning the form fields as serialized Array:
function (form) { return form.serializeArray(); }
Example:
[ { name: 'a', value: 1 }, { name: 'b', value: 2 } ]
Which i fail to understand what i'm suppoused to do with that.
This is how i initialize the plugin :
$('#add_image_upload').fileupload({
dataType: 'json',
sequentialUploads: true,
formData : getDate
});
And this is my attempt to the function :
function getDate(){
//if user didn't selected a date
if(!selectedDate || selectedDate=="undefined"){
selectedDate = "1/1/"+$('#timeline').html();
}
var date= new Array(selectedDate);
return date;
}
Upvotes: 4
Views: 18483
Reputation: 33661
try turning your data into in object - with what they showed in their example
$('#add_image_upload').fileupload({
dataType: 'json',
sequentialUploads: true,
formData : {name:'thedate',value:getDate}
});
Then to add more params
//name of param // value
formData : [{name:'thedate',value:getDate},{name:'thedate2',value:'seconddate'},etc..]
Example:
[ { name: 'a', value: 1 }, { name: 'b', value: 2 } ]
Changing thedate
with whatever you want to name the param
Though it sounds like a simple object should work fine
//name:value
formData : {thedate:getDate}
Upvotes: 7
Reputation: 100
Do you have multipart
set to false
on your form? Also, ensure the format of what you're sending back is acceptable.
Try hard-coding the following line and sending back the info:
new dateobject = { "date": "1/1/2012" }
Upvotes: 0