首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dropzone元素无效

dropzone元素无效
EN

Stack Overflow用户
提问于 2020-10-27 17:53:33
回答 1查看 1.5K关注 0票数 0

这个应用程序是用Laravel 7构建的,我把javascript和webpack放在一起。当我尝试创建一个新的Dropzone元素时,它给出了这个错误:Uncaught Error: Invalid dropzone element.。这是我的JavaScript代码:

代码语言:javascript
运行
复制
window.Dropzone = require('dropzone/dist/dropzone.js');
Dropzone.autoDiscover = false;
$(function () {
  if (document.getElementById('pdfDropzone')) {
    var myDropzone = new Dropzone("div#pdfDropzone", { url: "/success" });
    Dropzone.options.pdfDropzone = {
      paramName: "file", // The name that will be used to transfer the file
      maxFilesize: 2, // MB
      acceptedFiles: ".pdf", //
      accept: function (file, done) {
        done();
      }
    };
    $("#pdfButton").click(function (e) {
      e.preventDefault();
      myDropzone.processQueue();
    });
  }
});

这是HTML:

代码语言:javascript
运行
复制
            <form action="/success" id="pdfDropzone" method="post" enctype="multipart/form-data" class="dropzone pdf-drop row align-content-center">
                @csrf
                <button class="dz-button col-2" id="pdfButton">
                    <i class="far fa-file-alt"></i><br>
                    PDF
                </button>
                <div class="dz-message col-8 align-self-center">Drag PDF file here or click to browse </div>
                <div class="fallback">
                    <input name="file" type="file" />
                </div>
            </form>

如何删除此错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-31 05:13:49

我通过创建2个新表单修复了这个问题:

代码语言:javascript
运行
复制
<div>
<form action="/pdf_upload" enctype="multipart/form-data" method="post" id="pdfDropzone" class="uploadzone pdf-drop row align-content-center">
@csrf
<!-- Dropzone pdf-->
<button class="dz-button col-2">
<i class="far fa-file-alt"></i><br>
PDF
</button>
<div class="dz-message col-8 align-self-center">Drag PDF file here or click to browse </div>
<div class="fallback">
<input name="pdf_file" type="file" />
</div>
</form>
<!-- End Dropzone -->
<!-- Dropzone tumbnail-->
<form action="/image_upload" enctype="multipart/form-data" method="post" id="imgDropzone" class="uploadzone img-drop col justify-content-center">
@csrf
<button class="dz-button">
<i class="far fa-file-alt"></i><br>
jpg, png, jpeg
</button>
<div class="dz-message align-self-center">Drag image file here or<br>click to browse</div>
<div class="fallback">
<input name="image_file" type="file" />
</div>
</form>
<!-- End Dropzone -->
</div>

然后在app.js中,我添加了以下内容:

代码语言:javascript
运行
复制
require('dropzone');

$(function () {
    Dropzone.autoDiscover = false;
    var dropzoneOptionsPdf = {
        paramName: "file",
        maxFilesize: 20, // MB
        addRemoveLinks: true,
        acceptedFiles: "application/pdf",
        init: function () {
            this.on("maxfilesexceeded", function (file) {
                this.removeFile(file);
            });
        }
    };
    var dropzoneOptionsImage = {
        paramName: "file",
        maxFilesize: 20, // MB
        addRemoveLinks: true,
        acceptedFiles: "image/*",
        init: function () {
            this.on("success", function (file) {
                console.log("success > " + file.name);
            });
        }
    };
    var pdfDropzone = new Dropzone("#pdfDropzone", dropzoneOptionsPdf);
    var imgDropzone = new Dropzone("#imgDropzone", dropzoneOptionsImage);
});

我希望这对有同样问题的人有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64551909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档