Javascript dropzone:submit按钮没有';未选择任何文件时无法工作

Javascript dropzone:submit按钮没有';未选择任何文件时无法工作,javascript,dropzone.js,Javascript,Dropzone.js,我有一个用于上传文件的dropzone表单,包含在一个标准表单中,其中包含2个输入文本,对于该表单,submit按钮(id=submit all)的行为由以下javascript部分控制(以便在单击按钮后上传所有文件): 单击该按钮后,所有文件都将按预期上载和处理,然后访问者将被重定向到页面“write.php?final=y”(祝贺消息)。 但是,当未选择任何文件时,此脚本不起作用:单击按钮完全无效 有人能帮我解决这个问题吗? 非常感谢您的回复 queuecomplete没有发出,因为没有文件

我有一个用于上传文件的dropzone表单,包含在一个标准表单中,其中包含2个输入文本,对于该表单,submit按钮(id=submit all)的行为由以下javascript部分控制(以便在单击按钮后上传所有文件):

单击该按钮后,所有文件都将按预期上载和处理,然后访问者将被重定向到页面“write.php?final=y”(祝贺消息)。 但是,当未选择任何文件时,此脚本不起作用:单击按钮完全无效

有人能帮我解决这个问题吗?
非常感谢您的回复

queuecomplete没有发出,因为没有文件

Dropzone.options.myDropzone = {
  // Prevents Dropzone from uploading dropped files immediately
  autoProcessQueue: false,
  uploadMultiple: true,
  init: function() {
    var submitButton = document.querySelector("#submit-all");
    myDropzone = this; // closure
    submitButton.addEventListener("click", function() {
        if (myDropzone.getUploadingFiles().length === 0 && myDropzone.getQueuedFiles().length === 0) {
            location.href = 'write.php?final=y';
        }
        else {
            myDropzone.processQueue();
        }
    });
  }
};
还有一种手动发出事件的方法,只需简单使用即可

this.emit("signalname");
以及活动列表

Dropzone.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "addedfile", "addedfiles", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached", "queuecomplete"];

当dropzone中没有文件时,你为什么希望submit按钮工作?@Martin:因为submit按钮会触发几件事:当选中一些文件时,上传和处理图片,但是还要发送一封确认电子邮件,最后重定向到另一个页面。@马丁:我忘了提到表单还包含两个输入文本标记可能是“谢谢”的副本,但它不起作用:无论是否选择了某些文件,单击“提交”按钮都不会产生任何影响。这对我有效,请检查控制台日志,查找“全部提交”按钮可能有问题。我从控制台日志中收到以下消息:“抛出值异常:TypeError:this.getUploadingFiles不是函数。(在“this.getUploadingFiles()”中,“this.getUploadingFiles”未定义)工作正常。非常感谢亚当!
Dropzone.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "addedfile", "addedfiles", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached", "queuecomplete"];