Question

is it possible to add a new property to a previously declared object? Here is some code to clarify (with the uploadify jquery plugin):

$('#featuredimageupload').uploadify({
        'uploader' : base_url + 'media/js/uploadify.swf',
        'script': base_url + 'post/uploadflash',
        'multi' : true,
        'queueID' : 'queue',
        'cancelImg' : base_url + '/media/images/cancel.png',
        'fileDesc' : 'Allowed Types: (*.jpg,*.png,*.gif)',
        'fileExt' : '*.jpg;*.JPG;*.gif;*.GIF;*.png;*.PNG',
        'queueSizeLimit' : 9,
        'sizeLimit': 1000000,
        'method' : 'GET',
        'buttonText' : 'Browse',
        'onComplete' : function(event, queue, obj, response, data){
            if(response =='false'){
                alert('Maximum number of images reached!');
                $('#uploader').uploadifyClearQueue();
                return false;
            }
        },
        'onError' : function(event,queue,file,error){
            alert('An error occured. No files were uploaded');
            $('#uploader').uploadifyClearQueue();
        }
    });

then do something like

$('#form').submit(function(){
   $('#featuredimageupload').uploadify({scripData : data})
})

I saw this done with jqgrid

Was it helpful?

Solution

I believe what you are looking for is this:

$("#form").submit(function(){
    var $upload = $("#featuredimageupload");
    $upload.uploadifySettings('scriptData', { key : value });
    $upload.uploadifyUpload(); // Triggers the upload to start.
});

You can also get the current value by leaving the second parameter off:

var currentSetting = $upload.uploadifySettings('scriptData');

OTHER TIPS

Yes it is possible to add properties (dynamic or otherwise) to an existing Javascript object). You can just use the [] operator to add a dynamic property to an object. For example:

var key = 'foo';
var obj = {param: 'value'};
obj[key] = 'bar';
alert(obj.foo); // bar
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top