javascript - dropzone.js 表单提交不发送文件

标签 javascript jquery html forms dropzone.js

我在标准 html 表单中使用 Dropzone.js 时遇到了一些问题。使用我的代码,一切正常,我可以单击该区域添加图像,一次只能添加一张图像,并且只有在按下提交按钮时才会上传图像。 但是,按下提交时实际上没有发送任何内容。我知道我需要手动处理队列,但这似乎根本不起作用。然而,其余的表单数据已发送,只有图像没有发送。

我正在使用以下简化代码。 (假设除了没有文件被发送外,这还能工作。)

HTML

<form action='upload.php' method="post" class="dropzone" id="mydz">
<input type='submit' name='submitimage' value='Save' style='float:left;'/>

JavaScript

Dropzone.options.mydz = {
   autoProcessQueue: false,
   maxFiles: 1,

   init: function() {
      var submitButton = document.querySelector("#submitimage");
      mydz = this; // closure

      submitButton.addEventListener("click", function() {
         mydz.processQueue(); // Tell Dropzone to process all queued files.
      });                                    

      this.on('addedfile', function(file){ if(this.files.length > 1) { this.removeFile(this.files[0]); } });
   }
}

我现在一整天都在尝试解决这个问题,但无论在线搜索多少,都没有发现任何对我有用的东西。你们有人能帮忙吗?? :)

最佳答案

宾果!!!在我之前链接的 github 帖子的作者的帮助下,这个问题现在已经解决了!

我之前发布的代码按原样工作,但是在 dropzone.js 文件中,我添加了这两行 this.hiddenFileInput.setAttribute("name", _this.options.paramName); $("form.dropzone").append(_this.hiddenFileInput);

document.body.appendChild(_this.hiddenFileInput); 之后一切正常!

关于javascript - dropzone.js 表单提交不发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631659/

相关文章:

javascript - 如果有重复记录如何求和?

javascript - 不使用 .pipe() 调用 gulp-notify

javascript - 如何使用 Javascript 动态播放多个 youtube 或 vimeo 视频

javascript - 使用 Javascript 在复选框中进行计算

javascript - 如何使 mp3 文件在所有页面上连续播放?

javascript - 使用 css 和 jquery 的菜单 slider

javascript - 仅针对 jquery ui slider 的特定值做一些非凡的事情

Jquery选择器——如何选择当前元素的第一个指定父元素

javascript - 在 Javascript 或 HTML5 中禁用 Kendo Mobile Switch

javascript - 使用属性 "title"将 html 元素链接到 jQuery.click()