Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Blueimp's jQuery-File-Upload Second file upload issue

I am using Blueimp's jQuery-File-Upload plugin (basic version) and I have an issue. First file upload is working as expected, but when I want to send another file it is not working.

fileinput.fileupload({
            dataType: 'json',
            done: function (e, data) {
                $.each(data.result.files, function (index, file) {
                    //do stuff with files
                });
            }
        }).bind('fileuploadadd', function (e, data) {
            data.context = $('<p/>').text('Uploading...').appendTo(document.body);
            data.submit();

        });

EDIT:

Ok I know what is causing an issue. But i do not know how to fix this. I have used fileupload plugin on input that has set display none. I trigger it with another button which uses click()/trigger('click') method on hidden input. first trigger works fine, but second one triggers select file dialog. After choosing nothing happends. When i use input field directly it works as it should. How to overcome this issue?

like image 323
Michał Leszczyński Avatar asked Jul 15 '14 15:07

Michał Leszczyński


1 Answers

The problem appears because jQuery-File-Upload clone and replace input field after each uploading (docs).

So you triggering click event on the old file-input tag, which is not working any more.

To solve this you have at least two options:

  1. Trigger click event on new file-input after each blueimp add event.

  2. Use replaceFileInput: false on plugin setup (this will degrade UX at some browsers). (docs)

like image 168
vatavale Avatar answered Oct 11 '22 09:10

vatavale