QQ Upload via Ajax

nate
@nate
11 years ago
917 posts
I have a form that's being loaded via ajax. There is no < head > tag loaded so I need to recreate the qq upload function.

I can do this:
var pm_audio_file = new qq.FileUploader({
				element: document.getElementById('pm_distriblicense_sample_file'),
				action: core_system_url + '/core/upload_file/',
				inputName: 'pm_distriblicense_sample_file',
				acceptFiles: 'aac,flac,m4a,mp3,ogg,wav,wma',
				sizeLimit: 67108864,
				multiple: false,
				debug: false,
				params: { 
					upload_name: 'audio_file', 
					field_name: 'pm_distriblicense_sample_file', 
					token: tok, 
					upload_token: upTok, 
					extensions: 'aac,flac,m4a,mp3,ogg,wav,wma', 
					multiple: 'false' 
				},
				uploadButtonText: 'upload a new audio file',
				cancelButtonText: 'cancel',
				failUploadText: 'upload failed',
				onSubmit: function(id,fileName) {
					active_9f953714_ulcount++;
					if (0 > 0 && active_9f953714_ulcount > 0) { return false; }
				},
				onUpload: function(id,fileName) {
					active_9f953714_uploads[fileName] = 1;
					//$('.form_submit_section input').attr("disabled","disabled").addClass('form_button_disabled');
				},
				onComplete: function(id,fileName,response) {
					delete active_9f953714_uploads[fileName]; var count = 0;
					for (i in active_9f953714_uploads) { if (active_9f953714_uploads.hasOwnProperty(i)) { count++; } }
					//if (count === 0) { $('.form_submit_section input').removeAttr("disabled","disabled").removeClass('form_button_disabled'); }
				}

But that doesn't save. I assume the vars with the numbers in them are not gonna work.


updated by @nate: 10/27/14 05:56:01PM
michael
@michael
11 years ago
7,792 posts
Take a look at the jrUpimg module, it uses upload outside of a page and form.

--edit--
The qq initatior is in templates/tab_ajax_upimg.tpl and looks like this:
$(document).ready(function() {
        var pm_active_uploads = {ldelim}{rdelim};
        var pm_upimg_file = new qq.FileUploader({
            element: document.getElementById('pm_upimg_file'),
            action: '{$jamroom_url}/core/upload_file/',
            inputName: 'pm_upimg_file',
            acceptFiles: 'png,jpg,gif,jpeg',
            sizeLimit: {$_user['quota_jrCore_max_upload_size']},
            multiple: false,
            debug: false,
            params: { upload_name: 'upimg_file', field_name: 'pm_upimg_file', upload_token: '{$tkn}', extensions: 'png,jpg,gif,jpeg', multiple: 'false' },
            uploadButtonText: '{jrCore_lang module="jrUpimg" id="2" default="Select a file to upload and insert into the post"}',
            cancelButtonText: '{jrCore_lang module="jrCore" id="2" default="cancel"}',
            failUploadText: 'upload failed',
            onUpload: function (id, fileName) {
                pm_active_uploads[fileName] = 1;
                $('.form_submit_section input').attr("disabled", "disabled").addClass('form_button_disabled');
            },
            onComplete: function (id, fileName, response) {
                delete pm_active_uploads[fileName];
                var count = 0;
                for (i in pm_active_uploads) {
                    if (pm_active_uploads.hasOwnProperty(i)) {
                        count++;
                    }
                }
                if (count === 0) {
                    $('.form_submit_section input').removeAttr("disabled", "disabled").removeClass('form_button_disabled');
                }
                ajaxUpimg();
            }
        });

updated by @michael: 09/26/14 07:15:11PM

Tags