Search code examples
jqueryjquery-file-uploadblueimp

jQuery FileUpload doesn't trigger 'done'


I use jQuery-File-Upload plugin. I wrote a simple code to test it - and it works, but not without problems. It doesn't trigger done, even if the file is uploaded and progress bar reached its end.

Here's the code:

$('#file_file').fileupload({
    dataType: 'json',
    autoUpload: true,
    add: function (e, data) {
        data.context = $('<p/>').text('Uploading...').appendTo(document.body);
        data.submit();
    },
    progressall: function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#progress .bar').css(
            'width',
            progress + '%'
        );
    },
    done: function (e, data) {
        alert('Done');
    }
});

My input is as simple as that:

<input type="file" id="file_file" name="file[file]" />

Solution

  • I changed couple of things and it works. Here:

    $('#file_file').fileupload({
        autoUpload: true,
        add: function (e, data) {
            $('body').append('<p class="upl">Uploading...</p>')
            data.submit();
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .bar').css(
                'width',
                progress + '%'
            );
        },
        done: function (e, data) {
            $('.upl').remove();
            $.each(data.files, function (index, file) {
                /**/
            });
        }
    });