由于安全机制的问题,input[type=”file”]的值不能使用js进行修改,所以不能像其他表单元素那样进行重置。经过查阅资料后使用如下方法进行重置:
function resetInputFile(inputfile){
if(inputfile[0].value){
try{
inputfile[0].value="";
}catch(error){
}
if(inputfile[0].value){
var form = document.createElement('form');
var existingItem= inputfile.nextSibling;
var parent = inputfile.parentNode;
form.appendChild(inputfile);
form.reset();
parent.insertBefore(inputfile,existingItem);
}
}
}
经过验证ie下无法使用,原因是:ie不允许在不同的文档中移动元素,所以form.appendChild(inputfile);这里会报错程序无法执行