Esta es la solución más completa que encomtrarás brindar, pero obsérvala pausadamente y analiza si se adapta a tu proyecto.
Solución:
this.on("complete", function(file)
this.removeAllFiles(true);
)
escribir el código anterior en INIT
función.
esto elimina todos los archivos en la zona de entrega y RESTABLECE la zona de entrega al estado inicial.
http://www.dropzonejs.com/#event-reset
Finalmente, resolví el problema yo mismo. Al principio, elimino el formulario de su elemento principal. Eliminó la instancia de dropzone existente. Luego creo el formulario usando jQuery y reinicio la dropzone nuevamente. Aquí está mi código completo
// To reset dropzone before popup load
var resetDropzone = function ()
$('#drop-zone-container').empty();
var $form = makeElement('form',
action: window.pg.constants.url.SETTLEMENT_BASE_URL,
method: 'post',
id: 'settlement-proof-form',
class: 'dropzone'
);
$('#drop-zone-container').append($form);
var settlmentProofDropZone;
$("#settlement-proof-form").dropzone(
acceptedFiles: pg.constants.ACCEPTED_FORMAT,
maxFilesize: pg.constants.ATTACHMENT_MAX_FILE_SIZE, //In MB
maxFiles: pg.constants.ATTACHMENT_MAX_SIZE,
addRemoveLinks: true,
removedfile: function (file)
if (file.xhr.responseText.length > 0)
var fileId = JSON.parse(file.xhr.responseText).id;
$.ajax(
url: pg.constants.url.SETTLEMENT_BASE_URL + fileId,
method: 'DELETE',
dataType: "json",
success: function (result)
$('#uploaded_attachment').val($("#uploaded_attachment").val().replace(result.id + ',', ""));
$('#settlement_proof_status span').fadeOut(0);
var _ref;
return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0;
,
error: function ()
$('#settlement_proof_status').text(I18n.t('attachment_deletion_error')).fadeIn();
);
,
init: function ()
settlmentProofDropZone = this;
this.on("success", function (file, message)
appendContent(message.attachment.url, message.id);
);
);
;
function makeElement(element, options)
var $formField = document.createElement(element);
$.each(options, function (key, value)
if (key === 'innerHTML')
$formField.innerHTML = value;
else
$formField.setAttribute(key, value);
);
return $formField;
});
Prueba esto:
//DropZone Initiation Section
init: function()
this.on('success', function(file, json)
);
this.on('addedfile', function(file)
);
this.on('drop', function(file)
);
this.on('removedfile', function(file)
);
this.on('complete', function(file)
);
this.on('error', function(file)
);
this.on('resetFiles', function()
if(this.files.length != 0)
for(i=0; i
Te mostramos las reseñas y valoraciones de los usuarios
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)