Dropzone.js初始化函数()未被调用

时间:2014-03-04 10:40:01

标签: javascript jquery dropzone.js

我有这个HTML:

<div id='drop_zone'>
  <div class="close_button" id="removeAllImages">Remove All</div>
  <form action="PHP/uploads.php" class="dropzone" id='fbDropZone'></form>
</div>

$(document).ready(function() {}

中的这个Javascript
window.Dropzone;
Dropzone.autoDiscover = false;
$('#fbDropZone').dropzone = {
    init: function() {
     fbDropZone = this;
     $("#removeAllImages").click(function(){fbDropZone.removeAllFiles();})
    },
    paramName: "file",
    maxFilesize: 5,
    maxFiles : 1,
    autoProcessQueue : false,
};

但是init:function()没有被执行。我可以将autoProcessQueue转为falsetrue,这样就行了,所以我知道fbDropZone id是正确的 - 但maxFiles会被忽略为好。我在某处做过愚蠢的语法错误吗?我正在运行Safari 7。

3 个答案:

答案 0 :(得分:7)

事实证明代码位置至关重要:dropzone调用必须放在文档加载或就绪函数之外(我想你会把它称为内联函数)。

答案 1 :(得分:2)

尝试:

Dropzone.autoDiscover = false;
$("#mydropzone").dropzone({
    init: function() {
        var $this = this;
        $("button#clear-dropzone").click(function() {
            $this.removeAllFiles(true);
        });
    },
    paramName: "file",
    maxFilesize: 5,
    maxFiles : 1,
    autoProcessQueue : false
});

答案 2 :(得分:2)

检查您ping 192.168.1.1 -t

之外的Dropzone.autoDiscover = false

错:

$(document).ready(...).

右:

$(document).ready(function(){
  Dropzone.autoDiscover = false;
  $("#mydropzone").dropzone({
    init: function() {...}
   );
});