【问题标题】:Dropzone JS - Destroy and recreate for same formDropzone JS - 销毁并重新创建相同的表单
【发布时间】:2016-12-06 13:14:13
【问题描述】:

我在模态中使用带有 dropzone 的表单,但我遇到了一个问题: 当用户第一次打开模式时,我可以很好地创建它,调用一个新的 Dropzone("#my-form-id")。问题是,当用户关闭模式并重新打开它时,我必须再次将 dropzone 附加到表单,因为它是通过 ajax 呈现的。由于 Dropzone 已经附加,它给了我错误。我试图在关闭模式时破坏我的放置区,并在窗口重新打开时再次附加它。它停止给出错误,但在第二次,它不起作用。在这种情况下,如何为同一个表单(相同的 id)多次附加 dropzone?有什么想法吗?

【问题讨论】:

  • 你能分享一些代码吗?你是如何摧毁它的?

标签: javascript jquery dropzone.js


【解决方案1】:

如何验证实例是否已声明。 当我已经在我的案例中声明了 dropXML 时,我避免使用此方法再次声明。

if (Dropzone.instances.length == 0) {
    dropXML = new Dropzone("div#dropXML", dropXMLOptions);

    $('div.dropzone').find('div.dz-message').toggle();
    $('div.dropzone').find('div.dz-message').show();
}

【讨论】:

  • OP 说“'我必须再次将 dropzone 附加到表单,因为它是通过 ajax 呈现的。”所以我想这不是答案。
  • 好的,如何将选项保存在变量中,然后调用此选项重新创建它。因此,您只需使用保存的“X”选项破坏您的放置区,然后使用该选项在指定位置创建新放置区。它对我有用。
  • 我找到了这个。我希望它有所帮助。 jsfiddle.net/tomas_eklund/761qr3r5/39
猜你喜欢
  • 2018-10-09
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多