Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dropzone is not defined

I am quite new at JavaScript and this is driving me crazy.

I want to use Dropzone.js so I downloaded the file dropzone.js from here and included it in my view like this:

<script src="<?php echo JS_DIRECTORY; ?>/dropzone.js"></script>

Then I created the form like that:

<form action="http://localhost/project/uploadTest/upload" class="dropzone">
</form>

And it works fine. It points it to php function and I handle upload on server site.

The problem is when I want to access the dropzone object in JS to configure it. When I do

// "myAwesomeDropzone" is the camelized version of the HTML element's ID
Dropzone.options.myAwesomeDropzone = {
  paramName: "file", // The name that will be used to transfer the file
  maxFilesize: 2, // MB
  accept: function(file, done) {
    if (file.name == "justinbieber.jpg") {
      done("Naha, you don't.");
    }
    else { done(); }
  }
};

I get

Uncaught ReferenceError: Dropzone is not defined

Any help will be appreciated, thanks

like image 683
zachu Avatar asked Nov 20 '15 21:11

zachu


1 Answers

Your code might run too soon. Wrap it in:

window.onload = function() {
    // access Dropzone here
};

or, better (runs sooner than above code):

document.addEventListener("DOMContentLoaded", function() {
    // access Dropzone here
});

or, if you use jQuery:

$(function() {
    // access Dropzone here
});
like image 184
trincot Avatar answered Oct 22 '22 03:10

trincot