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); } } )