首先:这不是一个重复的问题,因为我没有找到任何有效的答案。
我正在尝试在表单中使用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
这就是我得到的:
答案 0 :(得分:1)
看起来在浏览器加载完成之前Dropzone正在执行。
使用window.onload = function() {
或$(function() {
<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"
,页面现在可以正常工作。