用input file上传文件,掉用onchange方法时,第二次点击相同的文件,上传框内容同名导致函数功能失效
input[type=file]使用的是onchange去做,onchange监听的为input的value值,只有再内容发生改变的时候去触发,而value在上传文件的时候保存的是文件的内容,只需要在上传成功的回调里面,将当前input的value值置空即可。event.target.value=“”;
上面的方法对于Google内核适用,但是IE可能不会生效,针对IE10可以尝试
var obj =document.getElementById(‘id’) ;
if(obj.outerHTML){ //IE重置表单不能清空file值
obj.outerHTML=obj.outerHTML;
}
增加到你对重复上传判断的函数体内即可。
然后绑定此input的onchange事件即可正常触发和清空。