jquery监控file文件上传,ie8下出现问题解决方法

 今天做项目时遇到过一个问题,jquery监控file文件传事件,在ie8下只能使用一次

 前段代码

<form id="uploadform" action= "###"  method="post" enctype="multipart/form-data">
<input type="file"  name= "excelFile" id="excelFile" class= "upload-input" >
</form>

  js中获取file文件change事件

$(".upload-input").live("change",function(){
    //执行代码
}

   通过live绑定change事件,在ie8中只能执行一次,开始以为是jquery文件上传,控件出现问题,后来调试发现,并不是控件的原因,而是file文件本身的问题,在google和ie10下change值都可以获取得到,就是ie8下不能第二次触发,百度上说是因为ie浏览器本身的安全性所致的,解决方法,每次执行完处理后,把file控件,添加上不同的属性,ie8下就可以运行了

var fileCount = 0;
$(".upload-input").live("change",function(){
       fileCount++;
      //执行代码
    $(".upload-input").replaceWith("<input type='file'  name= 'excelFile' id='excelFile' class= 'upload-input' title='" + fileCount + "'>");
}

相关推荐