我有一个包含多个上传文件夹的表单,上传文件名不同的文件,每个文件名由相关的提交按钮触发 - 这一切都运行正常 - 文件上传工作正常。
每次上传都有相关的按钮和进度条。
<input type='file' name='file1' class='imagefile-logo' />
<input type='submit' class='imagefile-logo upload-wrapper-btn' />
<div class='imagefile-logo progresswrap'>...</div>
<input type='file' name='file2' class='imagefile-design' />
<input type='submit' class='imagefile-design upload-wrapper-btn' />
<div class='imagefile-design progresswrap'>...</div>
...
使用jquery表单插件,一旦你同时上传两个文件 - 它只更新一个框/进度条。
我将类名保存到函数外部的变量中,第一个类的类被后续上传覆盖,而另一个上载仍在进行中,因此它使用上次保存的类名更新,正如您所期望的那样
所以我需要传入数据并且能够将这些数据看作是'success'和'uploadProgress'接收的数据的一部分,每个请求的某种实例或某种方式来索引/引用它们变量(需要有关谁发送此上传进度调用的数据)。
var options = {
beforeSubmit: beforeSubmit, // pre-submit callback
success: afterSuccess, // post-submit callback
uploadProgress: OnProgress, //upload progress callback
url: '/',
type: "POST",
};
...
var filename;
...
$(document).on('click','.upload-wrapper-btn', function(){
filename = $(this)[0].className.match(/filename-[a-zA-Z0-9_]+/);
$('#custom').ajaxSubmit(options);
}
...
function beforeSubmit(formData, formObject, formOptions){...}
function afterSuccess(responseText, statusText, xhr, $form){...}
function OnProgress(event, position, total, percentComplete){
$('.' + filename + '.progressbar').width(percentComplete + '%')
}
由于