Dropzone autoProcessQueue:false不起作用

时间:2017-05-12 10:53:09

标签: jquery dropzone.js laravel-5.4

我正在尝试按下按钮上传文件。

我已经关注过如此多的教程/问题, Upload all files with a buttonDropzone.js post request in laravel 5.4。但没有成功。

这是我的查看文件代码,

<form action="{{ url('admin/candidate/file-upload') }}" method="post" class="dropzone" id="my-dropzone">
    {{ csrf_field() }}
    <div class="dz-message">
        <h3>Drop images here or click to upload.</h3>
    </div>
</form>

这是我的JS文件代码(在文档就绪块中),

//DropZone - Drag and drop file upload
Dropzone.options.myDropzone = {
    // Prevents Dropzone from uploading dropped files immediately
    autoProcessQueue: false,

    init: function () {
        var submitButton = document.querySelector("#submit-all")
        myDropzone = this; // closure

        submitButton.addEventListener("click", function () {
            myDropzone.processQueue(); // Tell Dropzone to process all queued files.
        });
        // You might want to show the submit button only when 
        // files are dropped here:
        this.on("addedfile", function () {
            // Show submit button here and/or inform user to click it.
        });
    }
};

但我认为我的这个js文件块没有执行。应该是什么问题?

2 个答案:

答案 0 :(得分:2)

我陷入同样的​​境地,发现了那段代码:

Dropzone.options.myDropzone = { .. }

没有用。相反,我使用:

Dropzone.forElement(".dropzone").options.autoProcessQueue = false;

之后,当我需要排队时,我做了:

Dropzone.forElement(".dropzone").processQueue();

答案 1 :(得分:0)

这不起作用:

$(function(){ Dropzone.options.myDropzone = {...} }

这有效:

Dropzone.options.myDropzone = {...}

...只要在加载DOM之前 执行。