在表单中使用Dropzone

时间:2018-05-15 13:37:55

标签: php jquery forms upload dropzone

首先:这不是一个重复的问题,因为我没有找到任何有效的答案。

我正在尝试在表单中使用Dropzonejs,documentation也不起作用;那里的所有答案都没有用。

我需要一个有效的例子,因为我已经尝试了很多例子和答案而没有任何运气让它发挥作用。

请告知。

<form enctype="multipart/form-data" action="action" accept-charset="UTF-8" method="post" novalidate="novalidate" class="dropzone">
    <div class="row">
        <div class="col-xs-10">
        </div>
        <div class="col-xs-2" id="dropClickable">
            Drop Your File here...!!
        </div>
    </div>
</form>

<script>
    Dropzone.autoDiscover = false;
    jQuery(document).ready(function() {
        Dropzone.options.myAwesomeDropzone = {
            autoProcessQueue: false,
            uploadMultiple: true,
            parallelUploads: 100,
            maxFiles: 100,
            init: function () {
                // Do your update and process stuff
            }
        }
    })
</script>

也;试过这个例子,没有任何工作:

https://github.com/enyo/dropzone/wiki/Combine-normal-form-with-Dropzone

这就是我得到的:

enter image description here

1 个答案:

答案 0 :(得分:1)

看起来在浏览器加载完成之前Dropzone正在执行。

使用window.onload = function() {$(function() {

包装您的javascript
<script>     
$(function() {
    Dropzone.autoDiscover = false;
    jQuery(document).ready(function() {
        Dropzone.options.myAwesomeDropzone = {
            autoProcessQueue: false,
            uploadMultiple: true,
            parallelUploads: 100,
            maxFiles: 100,
            init: function () {
                // Do your update and process stuff
            }
        }
    })
})
</script>    

通过这些更改,代码现在可以在我的机器上运行;使用jquery 3.3.1和最新的Dropzone

对于你的第二个例子; 让我们打开开发工具(F12)并进行调试,我们看到:
Error: No URL provided.
点击该行告诉我们原因......

 if (_this.options.url == null) {
  _this.options.url = _this.element.getAttribute("action");
}

if (!_this.options.url) {
  throw new Error("No URL provided.");
}    

因此,如果我们设置(<form>action= "test.php",页面现在可以正常工作。