首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在dropzone.js上传所有图像后提交表单

在dropzone.js上传所有图像后提交表单
EN

Stack Overflow用户
提问于 2022-02-22 17:17:06
回答 2查看 236关注 0票数 0

我正在使用dropzone.js作为表单的一部分,所有这些都可以正常工作。我设置了它,这样它才会处理上传队列,直到单击submit。但是一旦它上传了所有的文件,我希望它提交表单。我在jQuery中添加了这个事件,但是它仍然没有提交它。

我在这里做错什么了?

它给了我成功的警告,但没有提交表格:

代码语言:javascript
运行
复制
$(document).ready(function() {
  
  $("div#dropzone").dropzone({ 
    url: "js/dropzone/upload.php",
    autoProcessQueue: false,
    maxFilesize: 2,
    parallelUploads: 100,
    uploadMultiple: true,
    acceptedFiles: "image/*",
    maxFiles: 10,
    init: function() {
      var myDropzone = this;
      $("#theform").submit(function(e) {
        e.preventDefault();
        e.stopPropagation();
        myDropzone.processQueue();
      });
    },
    completemultiple: function(file, response){
      alert("success");
      $("#theform").submit();
    },
  });
});
EN

回答 2

Stack Overflow用户

发布于 2022-02-22 18:01:37

如果表单可以提交,您可以设置一个标志,然后决定是否需要preventDefault:

代码语言:javascript
运行
复制
$(document).ready(function() {
  
  $("div#dropzone").dropzone({ 
    url: "js/dropzone/upload.php",
    autoProcessQueue: false,
    maxFilesize: 2,
    parallelUploads: 100,
    uploadMultiple: true,
    acceptedFiles: "image/*",
    maxFiles: 10,
    init: function() {
      var myDropzone = this;
      $("#theform").submit(function(e) {
        if ($(this).prop('ready')) return true;
        e.preventDefault();
        e.stopPropagation();
        myDropzone.processQueue();
      });
    },
    completemultiple: function(file, response){
      alert("success");
      $("#theform").prop('ready', true).submit();
    },
  });
});
票数 2
EN

Stack Overflow用户

发布于 2022-02-22 18:03:33

我已经想出办法了。我相信其他人也会有同样的问题,下面是答案。当队列完成后,您可以反转e.preventDefault,然后单击jQuery提交按钮:

$(Document).ready(函数(){)

代码语言:javascript
运行
复制
  $("div#dropzone").dropzone({ 
    url: "js/dropzone/upload.php",
    autoProcessQueue: false,
    maxFilesize: 2,
    parallelUploads: 100,
    uploadMultiple: true,
    acceptedFiles: "image/*",
    maxFiles: 10,
    init: function() {
      var myDropzone = this;
      $("#theform").submit(function(e) {
        e.preventDefault();
        e.stopPropagation();
        myDropzone.processQueue();

      });
    },
    queuecomplete: function(file, response){
      $("#theform").unbind('submit').submit();
      $("#submit").click();
    },
  });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71225562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档