【问题标题】:dropzone.js is giving error "Invalid dropzone element" on page without a dropzonedropzone.js 在没有 dropzone 的页面上给出错误“无效的 dropzone 元素”
【发布时间】:2015-03-08 08:16:57
【问题描述】:

我正在使用 dropzone js,它在我需要 dropzone 的页面上运行良好。在任何其他页面上,虽然它给了我一个 "Invalid dropzone element" 错误消息并导致我的其他 javascript 出现问题。

我有一个自定义 JS 文件(在 dropzone.js 文件之后立即加载),在文件的最顶部我有以下代码行:

Dropzone.autoDiscover = false;

这应该会阻止它查看我没有以编程方式启用它的任何页面。该错误仅在存在有效放置区的页面上消失。

我还在 dropzone.js 的第 1470 行设置了以下代码,以尝试在那里启用它:

Dropzone.autoDiscover = false;

我怎样才能摆脱这个错误?

【问题讨论】:

  • 您可以在初始化 dropzone 之前检查元素是否存在。使用 jQuery,你可以尝试这样的事情:if ($('#dropzoneDiv').length) { initDropZoneHere }
  • @Philip 我会把这段代码放在哪里?
  • 你用jQuery还是纯JS?这个想法是您可以在初始化 Dropzone 之前检查 div 是否存在。
  • @Philip 我正在使用 jQuery,但我会将此代码作为包装器放在 dropzone.js 文件中吗?

标签: jquery dropzone.js


【解决方案1】:

用纯 JS 你可以试试这个:

if (document.getElementById('DropzoneElementId')) {
  var myDropzone = new Dropzone("div#DropzoneElementId", { url: "/file/post"});
  // other code here
}

或者如果你使用 jQuery:

if ($('#DropzoneElementId').length) {
  $("div#DropzoneElementId").dropzone({ url: "/file/post" });
  // other code here
}

【讨论】:

  • 这行得通。我将它添加到两个文件中,现在我可以开始了。谢谢。
【解决方案2】:

很久以前但是:将脚本放在表单元素之后,错误就消失了。

【讨论】:

    【解决方案3】:

    使用 jQuery,不需要检查目标元素是否存在。

    $(".my_element").dropzone(dropzone_options);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      • 2016-07-11
      • 2019-09-23
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多