在模态框中重置Dropzone

时间:2014-12-05 13:09:30

标签: ajax twitter-bootstrap-3 modal-dialog dropzone.js

我在一个bootstrap主题的模式框中有一个表单。表单包含很少的输入字段和Dropzone字段,所有这些字段都通过ajax将数据发送到服务器。填写表格后,我显然需要重置下一组输入的表格。我已成功重置表单字段,除了Dropzone图像。

所以现在当我点击提交时,在填写表格后,输入数据。单击按钮再次打开模式以添加新集时,仍会显示上一个图像。我也需要这样做。

我一直在寻找S.O和许多其他地方的解决方案。我无法得到解决方案。任何指导都表示赞赏。


HTML:

<form enctype="multipart/form-data" id="addProductImageForm" class="dropzone dz-clickable" action="#">
  <div class="dz-default dz-message" ><span>Click here to upload Product Image</span></div>
</form>

JS:

Dropzone.options.addProductImageForm = {
paramName: "productImage", 
maxFilesize: 2,
maxFiles: 1,
uploadMultiple: false,
acceptedFiles: "image/*", 
dictDefaultMessage: "Click to Upload",
addRemoveLinks: true,
accept: function(file, done) { 
    if (file.name == "bg.png") {
        done("Naha, you don't.");
    }
    else {
        done();
    }
},
success: function(d, response, test) {
    var value = response.replace("int(0)", "");
    var value2 = value.replace(/(\r\n|\n|\r)/gm, "");
    $('#product_imageName').val(value2);
},
init: function() {
    this.on("maxfilesexceeded", function(file) {
        alert("No more files please!");
    });
}
};
$("#addProductImageForm").dropzone({url: "/path/to/upload_product_image.php"});

.
.
.
.

var formData = {
  (input values here)
};

$.ajax({
    type: 'POST', 
    url: 'path/to/projectsAction.php',
    data: formData,
    encode: true
})
        .done(function(data) {
            var value3 = data.replace(/(\r\n|\n|\r)/gm, "");
            $('#project_productId').append('<option value="' + value3 + '" selected="selected">' + formData.product_name + '</option>');
            $("#addProductForm").find("input[type=text], textarea, select").val("");
            $("#addProductImageForm").html("");// THIS IS THE LINE THAT REMOVES THE THUMBNAIL. (From the answer given by xrcwrn)
            $('.close').click();
        });

event.preventDefault();

1 个答案:

答案 0 :(得分:1)

如果您正在使用dropzone,请

   <form action="/file-upload"
    class="dropzone"
  id="my-awesome-dropzone"></form>
发布数据后

重置您的dropzone容器,如

  $("#my-awesome-dropzone").html("");