dropzone.js的文档/维基没有说明如何发送表单字段。
我刚刚了解了FormData对象,它说明了如何使用表单字段填充对象。问题在于,如果用整个表单填充对象,则无法发送数据,但是如果逐个附加表单字段,它们将会被发送...
以下代码可行:
formData.append('name', jQuery('#name').val());
这不行:
var myForm = document.querySelector('form');
formData = new FormData(myForm);
第一个例子将发送
#name
字段,但第二个不会发送任何内容(只有文件)。如何触发这个功能?我想让dropzone在同一请求中发送整个表单和文件。
init: function() {
var myDropzone = this,
submitButton = document.querySelector("[type=submit]");
submitButton.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
myDropzone.on('sendingmultiple', function(data, xhr, formData) {
// this will get sent
formData.append('name', jQuery('#name').val());
// this won't
var myForm = document.querySelector('form');
formData = new FormData(myForm);
});
myDropzone.on('successmultiple', function(files, response) {
//window.location.replace("/home");
});
myDropzone.on('errormultiple', function(files, response) {
alert(response);
});
}