ajaxFileupload 多文件上传
修改前的代码:
var oldElement = jQuery('#' + fileElementId); var newElement = jQuery(oldElement).clone(); jQuery(oldElement).attr('id', fileId); jQuery(oldElement).before(newElement); jQuery(oldElement).appendTo(form);
要实现多个文件上传,就改成下面的样子:
if(typeof(fileElementId) == 'string'){ fileElementId = [fileElementId]; } for(var i in fileElementId){ var oldElement = jQuery('#' + fileElementId[i]); var newElement = jQuery(oldElement).clone(); jQuery(oldElement).attr('id', fileId); jQuery(oldElement).before(newElement); jQuery(oldElement).appendTo(form); }
初始化的代码:
$.ajaxFileUpload({ url:'/ajax.php', fileElementId:['id1','id2']//原先是fileElementId:’id’ 只能上传一个 });
实例调用:
var numArr = []; var txt = $("#fileList").find("input:file"); //获取所有上传附件框 for (var i = 0; i < txt.length; i++) { numArr.push(txt.eq(i).attr('id')); //将附件框的ID添加到数组中 } //提交表单 $.ajaxFileUpload ( { url: '/Selector/Upload', //用于文件上传的服务器端请求地址 type: 'post', data: { ProjectId: 'lunis' }, //此参数非常严谨,写错一个引号都不行 secureuri: false, //一般设置为false fileElementId: numArr, dataType: 'json', //返回值类型 一般设置为json success: function (data, status) //服务器成功响应处理函数 { }, error: function (data, status, e)//服务器响应失败处理函数 { alert(e); } } )