Blueimp的jQuery-File-Upload第二个文件上传问题

Mic*_*ski 7 jquery blueimp jquery-file-upload

我正在使用Blueimp的jQuery-File-Upload插件(基本版),我有一个问题.第一个文件上传按预期工作,但是当我想发送另一个文件时它无法正常工作.

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();

        });
Run Code Online (Sandbox Code Playgroud)

编辑:

好的我知道是什么导致了问题.但我不知道如何解决这个问题.我在已设置display none的输入上使用了fileupload插件.我用另一个按钮触发它,该按钮在隐藏输入上使用click()/ trigger('click')方法.第一个触发器工作正常,但第二个触发器选择文件对话框.选择什么都没发生.当我直接使用输入字段时,它可以正常工作.如何克服这个问题?

vat*_*ale 7

出现问题的原因是每次上载(docs)后jQuery-File-Upload 克隆和替换输入字段.

因此,您click在旧的文件输入标记上触发事件,该标记不再起作用.

要解决此问题,您至少有两个选择:

  1. click每次blueimp add 事件后触发新文件输入事件.

  2. replaceFileInput: false在插件设置上使用(这会降低某些浏览器的用户体验).(docs)