2015-01-09 1147 views
7

我使用dropzone js,它在我需要dropzone的页面上工作得很好。在任何其他页面上,虽然它给我一个"Invalid dropzone element"错误消息,并导致我的其他JavaScript的问题。dropzone.js在页面上给出错误“Invalid dropzone element”没有dropzone

我有一个自定义的JS文件(其中dropzone.js文件后立即加载),并在文件的最顶端我有下面的代码行:

Dropzone.autoDiscover = false; 

这应该从寻找阻止它在任何我没有以编程方式启用它的页面上。错误只会在有有效的dropzone的页面上消失。

我还设置上dropzone.js线1470下面的代码,试图使其有太多:

Dropzone.autoDiscover = false; 

我怎样才能摆脱这种错误的?

+2

,您可以检查元素是否有你初始化之前悬浮窗。使用jQuery,你可以尝试如下所示:'if($('#dropzoneDiv')。length){initDropZoneHere}' – Philip 2015-01-09 22:35:32

+0

@Philip我会在哪里放这段代码? – user1048676 2015-01-09 22:40:33

+0

你使用jQuery还是纯JS?这个想法是,你可以检查你的初始Dropzone之前是否存在div。 – Philip 2015-01-09 22:51:22

回答

20

用纯JS你可以试试这个:

if (document.getElementById('DropzoneElementId')) { 
    var myDropzone = new Dropzone("div#DropzoneElementId", { url: "/file/post"}); 
    // other code here 
} 

,或者如果你使用jQuery:

if ($('#DropzoneElementId').length) { 
    $("div#DropzoneElementId").dropzone({ url: "/file/post" }); 
    // other code here 
} 
+0

这工作。我将它添加到这两个文件,现在我很好去。谢谢。 – user1048676 2015-01-09 22:59:53