2015-01-09 11 views
7

Tôi đang sử dụng jx vùng thả và nó hoạt động tốt trên các trang mà tôi yêu cầu dropzone. Trên bất kỳ trang nào khác mặc dù nó cho tôi thông báo lỗi "Invalid dropzone element" và gây ra sự cố với javascript khác của tôi.dropzone.js đang đưa ra lỗi "Phần tử vùng thả xuống không hợp lệ" trên trang mà không có vùng thả xuống

Tôi có một tập tin tùy chỉnh JS (mà tải ngay sau khi các tập tin dropzone.js) và ở đầu rất của tập tin tôi có dòng mã sau đây:

Dropzone.autoDiscover = false; 

này nên ngăn chặn nó từ tìm kiếm tại bất kỳ trang nào mà tôi không bật nó theo chương trình. Lỗi chỉ biến mất trên các trang có vùng thả xuống hợp lệ.

tôi cũng đặt đoạn mã sau vào dòng 1470 trên dropzone.js để thử và kích hoạt nó có quá:

Dropzone.autoDiscover = false; 

Làm thế nào tôi có thể thoát khỏi lỗi này?

+2

Bạn có thể kiểm tra xem phần tử ở đó, trước khi bạn init thả. Với jQuery bạn có thể thử một cái gì đó như thế này: 'if ($ ('# dropzoneDiv'). Chiều dài) {initDropZoneHere}' – Philip

+0

@Philip Tôi sẽ đặt mã này ở đâu? – user1048676

+0

Bạn có sử dụng jQuery hoặc JS thuần túy không? Ý tưởng là bạn có thể kiểm tra xem div có tồn tại trước khi bạn khởi động Dropzone hay không. – Philip

Trả lời

20

Với JS tinh khiết bạn có thể thử này:

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

hoặc nếu bạn sử dụng jQuery:

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

Điều này đã hiệu quả. Tôi đã thêm nó vào cả hai tập tin và bây giờ tôi tốt để đi. Cảm ơn. – user1048676

Các vấn đề liên quan