Javascript dropzone在一个表单中具有多个全局事件队列完成
我有一个普通的简单表单,包含2个droploaddiv字段和经典表单字段。 autodiscover被禁用,它们有一个不同的参数名来处理它们,在php上传页面中有点不同 问题是要知道两个DIV的所有内容是否都上传了。对于每个dropload对象,“queuecomplete”被激发2次 处理这种情况的最佳方法是什么? 上传工作,只有事件处理完成是现在的问题,只是想知道是否两者都成功完成 我想在php文章中使用另外两个输入字段Javascript dropzone在一个表单中具有多个全局事件队列完成,javascript,jquery,dropzone.js,Javascript,Jquery,Dropzone.js,我有一个普通的简单表单,包含2个droploaddiv字段和经典表单字段。 autodiscover被禁用,它们有一个不同的参数名来处理它们,在php上传页面中有点不同 问题是要知道两个DIV的所有内容是否都上传了。对于每个dropload对象,“queuecomplete”被激发2次 处理这种情况的最佳方法是什么? 上传工作,只有事件处理完成是现在的问题,只是想知道是否两者都成功完成 我想在php文章中使用另外两个输入字段 myDropzone.on("sending
myDropzone.on("sending", function(file, xhr, formData) {
var data = $('#testform').serializeArray();
$.each(data, function(key, el) {
formData.append(el.name, el.value);
});
});
- 如果一切都完成了,我想发送邮件到电子邮件地址
输入号码:
输入电子邮件:
JS:
Dropzone.autoDiscover=false;
$('.dropzone')。每个(函数(){
var dropUrl='file_upload.php';
var paramName=$(this.attr('id');
var createImageThumbnails=false;
var addRemoveLinks=true;
var-maxFiles=50;
var-parallelUploads=4;
var maxFilesize=25;//MB
var acceptedFiles=“应用程序/pdf”;
var autoProcessQueue=false
$(此).dropzone({
url:dropUrl,
paramName:paramName,
createImageThumbnails:createImageThumbnails,
addRemoveLinks:addRemoveLinks,
maxFiles:maxFiles,
并行上传:并行上传,
maxFilesize:maxFilesize,//MB
acceptedFiles:acceptedFiles,
autoProcessQueue:autoProcessQueue,
uploadMultiple:true,
init:function(){
var myDropzone=this;
$(“#上载文件”)。单击(函数(e){
var count=myDropzone.files.length;
log(“测试事件行,文件数:“+count”);
e、 预防默认值();
e、 停止传播();
如果(计数>0){
myDropzone.processQueue();
}
});
myDropzone.on(“发送多个”,函数(文件、响应){
console.log(“发送多个”);
});
myDropzone.on(“successmultiple”,函数(文件、响应){
console.log(“successmultiple”);
});
myDropzone.on(“queuecomplete”,函数(文件、响应){
console.log(“queuecomplete”);
});
myDropzone.on(“errormultiple”,函数(文件、响应){
console.log(“errormultiple”);
});
}
});
});
包括jquery最小值和dropzone最新值
<form action="file_upload.php" class="testform" enctype="multipart/form-data" id="testform">
input number: <input type="text" id="myInput"/>
input E-mail : <input type="email" name="mailadress" required />
<div class="dropzone" id="invoices"></div>
<div class="dropzone" id="documents"></div>
<input type="submit" id='uploadfiles' value='Upload Files' >
</form>
<script type="text/javascript">
Dropzone.autoDiscover = false;
$('.dropzone').each(function(){
var dropUrl = 'file_upload.php';
var paramName = $(this).attr('id');
var createImageThumbnails = false;
var addRemoveLinks = true;
var maxFiles = 50;
var parallelUploads = 4;
var maxFilesize = 25; // MB
var acceptedFiles = "application/pdf";
var autoProcessQueue = false
$(this).dropzone({
url: dropUrl,
paramName: paramName,
createImageThumbnails: createImageThumbnails,
addRemoveLinks: addRemoveLinks,
maxFiles: maxFiles,
parallelUploads: parallelUploads,
maxFilesize: maxFilesize, // MB
acceptedFiles: acceptedFiles,
autoProcessQueue: autoProcessQueue,
uploadMultiple: true,
init: function(){
var myDropzone = this;
$('#uploadfiles').click(function(e) {
var count= myDropzone.files.length;
console.log("test event line, number of files: " + count);
e.preventDefault();
e.stopPropagation();
if(count >0){
myDropzone.processQueue();
}
});
myDropzone.on("sendingmultiple", function(files, response) {
console.log("sendingmultiple ");
});
myDropzone.on("successmultiple", function(files, response) {
console.log("successmultiple ");
});
myDropzone.on("queuecomplete", function(files, response) {
console.log("queuecomplete ");
});
myDropzone.on("errormultiple", function(files, response) {
console.log("errormultiple ");
});
}
});
});
</script>