ajaxFileUpload只能上传一次,和上传同名图片不能上传等bug问题

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("");  克隆之后就直接初始化值
其他是不是有改动我也记不得了,好像只有这个,不放心,请进入群内下载文件
 
原文地址:https://www.cnblogs.com/zx-admin/p/7990118.html