2015-01-09 17 views
7

Sto usando dropzone js e funziona alla grande su pagine che richiedono un dropzone. Su qualsiasi altra pagina sebbene mi stia dando un messaggio di errore "Invalid dropzone element" e causando problemi con il mio altro javascript.dropzone.js sta dando errore "Elemento dropzone non valido" a pagina senza dropzone

Ho un file JS personalizzato (che carica subito dopo il file dropzone.js) e al vertice del file ho la seguente riga di codice:

Dropzone.autoDiscover = false; 

Questo dovrebbe impedirgli di guardare in qualsiasi pagina in cui non lo sto abilitando programmaticamente. L'errore scompare solo sulle pagine in cui è presente una dropzone valida.

Ho anche impostare il seguente codice on line 1470 su dropzone.js per cercare di consentire anche lì:

Dropzone.autoDiscover = false; 

Come posso liberarmi di questo errore?

+2

è possibile verificare se l'elemento è lì, prima di init dropzone. Con jQuery puoi provare qualcosa del tipo: 'if ($ ('# dropzoneDiv'). Length) {initDropZoneHere}' – Philip

+0

@Philip Dove inserirò questo codice? – user1048676

+0

Usi jQuery o JS puro? L'idea è che puoi controllare se il div esiste prima di avviare Dropzone. – Philip

risposta

20

Con JS puri si può provare questo:

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

o se si utilizza jQuery:

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

Questo ha funzionato. L'ho aggiunto a entrambi i file e ora sono a posto. Grazie. – user1048676

Problemi correlati