私はdropzone jsを使用していますが、dropzoneを必要とするページでうまく機能しています。他のページでは、"Invalid dropzone element"
エラーメッセージが表示され、他のJavaScriptで問題が発生します。
カスタムJSファイル(dropzone.jsファイルの直後に読み込まれる)があり、ファイルの最上部に次のコード行があります。
Dropzone.autoDiscover = false;
これにより、プログラムで有効にしていないページは表示されなくなります。エラーは、有効なドロップゾーンがあるページでのみ発生します。
また、dropzone.jsの1470行目に次のコードを設定して、そこでも有効にします。
Dropzone.autoDiscover = false;
このエラーを取り除くにはどうすればよいですか?
純粋な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
}
ずいぶん前ですが、スクリプトをフォーム要素の後に置くとエラーは発生しません。