Joshua Bakker
Joshua Bakker

Reputation: 2348

Dropzone.js removedfile event callback - parent dropzone

I have a dropzone in my project and I need to delete files from a folder when clicked on the remove button. I create the dropzones with this:

$('.dropzone').dropzone(
{
    init: function ()
    {
        this.on("removedfile", function (file) 
        {
            console.log($(file.previewTemplate)); 

            console.log(file.previewTemplate.children[7].value);

            //$.post("delete-file.php?id=" + file.serverId); // Send the file id along
        });
    }
});

My dropzone HTML is:

<div class="dropzone" style="width: 500px; height: 500px;" data-uploadPath="the/path/here/" data-multipleUpload="true"></div>

Now, the file parameter contains the previewTemplate of the file. I want to get the/path/here/ by the parents, but if I use:

file.previewTemplate.parentNode

It returns undefined, why doesn't parentNode work?

Upvotes: 3

Views: 11776

Answers (2)

Lovepreet Singh
Lovepreet Singh

Reputation: 4840

If you override removedFile function, then need to manually remove preview of image. Dropzone will not automatically remove file preview.

removedfile: function (file) {
    file.previewElement.remove();
}

Upvotes: 17

Awol
Awol

Reputation: 353

Alright, I faced a similar problem, and based on the comments on your question, I figured out the solution.

The arguments are of no use, but the context 'this' is. this.element returns the respective dropzone element. In my case, I needed to find the enclosing form element. Hence, all I needed to do was

var $form = $(this.element).closest('form');

Upvotes: 2

Related Questions