Javascript 在sendingmultiple上使用dropzone.js发送formData

Javascript 在sendingmultiple上使用dropzone.js发送formData,javascript,dropzone.js,Javascript,Dropzone.js,dropzone.js文档/wiki没有说明如何发送表单字段 我刚刚读到了,它说了如何用表单字段填充对象。问题是,用整个表单填充对象将无法发送数据,但如果我逐个附加表单字段,它们将被发送 这项工作: formData.append('name', jQuery('#name').val()); 这并不是: var myForm = document.querySelector('form'); formData = new FormData(myForm); 第一个示例将发送#name字段,

dropzone.js文档/wiki没有说明如何发送表单字段

我刚刚读到了,它说了如何用表单字段填充对象。问题是,用整个表单填充对象将无法发送数据,但如果我逐个附加表单字段,它们将被发送

这项工作:

formData.append('name', jQuery('#name').val());
这并不是:

var myForm = document.querySelector('form');
formData = new FormData(myForm);
第一个示例将发送
#name
字段,但第二个示例不会发送任何内容(仅发送文件)

我怎么能触发它?我想让dropzone将整个表单连同文件一起发送(都在同一个请求中)

请参阅评论

myDropzone.on('sendingmultiple', function(data, xhr, formData) {

    // this will get sent
    formData.append('name', jQuery('#name').val());

    // this won't -- we don't need this rn, we can just use jQuery
    // var myForm = document.querySelector('form');

    // you are overwriting your formdata here.. remove this
    //formData = new FormData(myForm);

    // instead, just append the form elements to the existing formData
    $("form").find("input").each(function(){
        formData.append($(this).attr("name"), $(this).val());
    });
});

好的,我现在明白了。。。你的意思是在我的表单中的输入中手动附加接受的文件,而这个输入与dropzone.js无关,对吗?我不知道该怎么做,将文件数据附加到输入。循环ofc,我变慢了。。。谢谢建议使用sending函数而不是sendingmultiple函数,因为用户可能只上载一个文件。
myDropzone.on('sendingmultiple', function(data, xhr, formData) {

    // this will get sent
    formData.append('name', jQuery('#name').val());

    // this won't -- we don't need this rn, we can just use jQuery
    // var myForm = document.querySelector('form');

    // you are overwriting your formdata here.. remove this
    //formData = new FormData(myForm);

    // instead, just append the form elements to the existing formData
    $("form").find("input").each(function(){
        formData.append($(this).attr("name"), $(this).val());
    });
});
init: function() {
  this.on("sending", function(file, xhr, formData) { 

    //formData.append('task_name', jQuery('#task_name').val());

    $("form").find("input").each(function(){
      formData.append($(this).attr("name"), $(this).val());
  });
  
  });

}