2015-07-11 65 views
7

我试着通过添加类的形式这样来启动悬浮窗:如何在不以编程方式启动时运行Dropzone processQueue()?

<form class="dropzone ng-pristine ng-valid dz-clickable" id="photoDropzoneDiv" action="/panel/vehicles/3/photos" accept-charset="UTF-8" method="post"> 

现在悬浮窗的作品。接下来,我设置悬浮窗不自动处理队列:

Dropzone.options.photoDropzone = { 
    paramName: "file", // The name that will be used to transfer the file 
    maxFilesize: 5, // MB 
    autoProcessQueue: false, 
    parallelUploads: 500, 
    acceptedFiles: '.jpg,.jpeg,.JPEG,.JPG,.png,.PNG', 
    addRemoveLinks: true, 
    init: function(file, done) { 
     this.on("queuecomplete", function(file) { 
      this.removeAllFiles(); 
     }); 
    } 
}; 

现在,当我打电话processQueue这样的:

photoDropzone.processQueue(); 

它说Uncaught TypeError: photoDropzone.processQueue is not a function。我怎样才能解决这个问题?

+0

你解决呢? – Lomithrani

回答

17
Dropzone.options.addFiles = { 
    maxFileSize : 4, 
    parallelUploads : 10, 
    uploadMultiple: true, 
     autoProcessQueue : false, 
    addRemoveLinks : true, 
    init: function() { 
     var submitButton = document.querySelector("#act-on-upload") 
     myDropzone = this; 
     submitButton.addEventListener("click", function() { 
      myDropzone.processQueue(); 
     }); 
     myDropzone.on("addedfile", function(file) { 
      if (!file.type.match(/image.*/)) { 
       if(file.type.match(/application.zip/)){ 
        myDropzone.emit("thumbnail", file, "path/to/img"); 
       } else { 
        myDropzone.emit("thumbnail", file, "path/to/img"); 
       } 
      } 
     }); 
     myDropzone.on("complete", function(file) { 
      myDropzone.removeFile(file); 
     }); 
    }, 
}; 
8

Funcionou褐:)

$('#submit').click(function() { 
    var myDropzone = Dropzone.forElement(".dropzone"); 
    myDropzone.processQueue(); 
}); 
+0

这简单得多,对我来说效果很好 – Mazaryk

相关问题