问题描述:第一次选择图片完成会触发onchange事件,获取文件后动态在界面上创建img标签展示,这个过程没有问题,问题出在:当把创建的img元素节点删除后,再点file控件选中同一个文件后发现图片并没有被重新创建出来。

分析原因:因上一次file里选择的文件路径值与本次选择的文件路径值是一样,值没有改变所以导致file不会触发onchange事件。

解决思路:每次创建完img后把file的路径值清空,但浏览器的安全机制规定不可以直接用js修改file的value为有效值,解决方法是设置file的value为空字符,或者把file的html重新初始化来解决清空的问题。



解决办法:


var file = document.getElementById('file');
file.value = ''; //虽然file的value不能设为有字符的值,但是可以设置为空值
//或者
file.outerHTML = file.outerHTML; //重新初始化了file的html



Created with the Personal Edition of HelpNDoc: Create HTML Help, DOC, PDF and print manuals from 1 single source