createUploadForm: function (id, fileElementId)
{
//create form
var formId = 'jUploadForm' + id;
var fileId = 'jUploadFile' + id;
var form = $('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
var oldElement = $('#' + fileElementId);
var newElement = $(oldElement).clone(true).val(""); //核心
// var newElement = $(oldElement).clone(true);
// oldElement.after(oldElement.clone().val(""));
$(oldElement).attr('id', fileId);
$(oldElement).before(newElement);
$(oldElement).appendTo(form);
//set attributes
$(form).css('position', 'absolute');
$(form).css('top', '-1200px');
$(form).css('left', '-1200px');
$(form).appendTo('body');
return form;
},
var newElement = $(oldElement).clone();
記得第一個問題是,就是上傳一次之后,就會不能上傳
第二版
var newElement = $(oldElement).clone(true);
但是又出現一個問題就是上傳同樣文件也會有BUG,就是同名文件之后,就不能直接上傳文件,但是chrome和ie不能直接克隆控件,據說是為了控件安全
不會初始化input file的文件名,需要改成
var newElement = $(oldElement).clone(true).val(""); 克隆之后就直接初始化值
其他是不是有改動我也記不得了,好像只有這個,不放心,請進入群內下載文件