单页中有多个Dropzone

时间:2014-10-30 15:46:52

标签: javascript file-upload dropzone.js

我正在使用Dropzone而不创建dropzone表单。它以这种方式对我很有用。

但在这种情况下,我无法在我的页面中创建另一个Dropzone实例。

var myDropzone1 = new Dropzone(
        document.body,
        {
            url : "upload1"...
            .
            .
            . some parameters
         };

var myDropzone2 = new Dropzone(
        document.body,
        {
            url : "upload'"...
            .
            .
            . some parameters
         };

当我这样做时,我收到错误Dropzone already attached.

2 个答案:

答案 0 :(得分:22)

这是可能的,但你不能像你一样在同一个元素上绑定第二个dropdzone。 2个元素上的Dropzones毫无意义。解决方案atm中的2x document.body。试试这个......

HTML:

<form action="/file-upload" class="dropzone" id="a-form-element"></form>
<form action="/file-upload" class="dropzone" id="an-other-form-element"></form>

JavaScript的:

var myDropzoneTheFirst = new Dropzone(
        //id of drop zone element 1
        '#a-form-element', { 
            url : "uploadUrl/1"
        }
    );

var myDropzoneTheSecond = new Dropzone(
        //id of drop zone element 2
        '#an-other-form-element', { 
            url : "uploadUrl/2"
        }
    );

答案 1 :(得分:0)

我想在这里添加一些内容,因为我在同一页面上遇到多个拖放区的问题。

在初始化代码中,您必须记住,如果放置了引用,则必须包含var,否则它不会处理该dropzone实例,而是尝试访问/关联其他实例。

简单的javascript,但有很大的不同。

init:       function(){
    var dzClosure = this;

    $('#Btn').on('click',function(e) {
        dzClosure.processQueue();
    });