web-dev-qa-db-ja.com

dropzone.jsは、dropzoneがないページで「無効なdropzone要素」エラーを出します

私はdropzone jsを使用していますが、dropzoneを必要とするページでうまく機能しています。他のページでは、"Invalid dropzone element"エラーメッセージが表示され、他のJavaScriptで問題が発生します。

カスタムJSファイル(dropzone.jsファイルの直後に読み込まれる)があり、ファイルの最上部に次のコード行があります。

Dropzone.autoDiscover = false;

これにより、プログラムで有効にしていないページは表示されなくなります。エラーは、有効なドロップゾーンがあるページでのみ発生します。

また、dropzone.jsの1470行目に次のコードを設定して、そこでも有効にします。

Dropzone.autoDiscover = false;

このエラーを取り除くにはどうすればよいですか?

11
user1048676

純粋な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
}
27
Philip

ずいぶん前ですが、スクリプトをフォーム要素の後に置くとエラーは発生しません。

0
VZimmerl