document.getElementById().value在ie下不起作用,在火狐中可以
这是一个上传图片在本地预览的功能,JS检测超过大小限制后把input type="file"里的内容清空,阻止上传,在火狐下用
   document.getElementById("imgfile").value="";这句完美清空,但是在IE下这句不起作用,什么原因呢。
<HTML>
<head>
<script type="text/javascript" src="img1.js"></script>
</head>
<BODY>
<form>
<table>
                 <tr>
                     <td class="left1">
                         图片
                     </td>
                     <td>
                         <div style="float: left">                          
                         <IMG name='mypic' id='mypic' SRC="" width=100 height=100 BORDER="1">   
                          </div>
                             <div  style="float: left" align=left>
                             <INPUT name='imgfile' id="imgfile" TYPE="file" onchange="viewmypic(mypic,imgfile);" size=40 >
                             </div>                         
                     </td>
                 </tr>
</table>
</form>
</body>
</html>
img1.js
function viewmypic(mypic,imgfile) {
var url,ImgFileSize,ImgWidth,ImgHeight,FileExt;//全局变量 图片相关属性
var AllowImgFileSize=50;  //允许上传图片文件的大小 0为无限制  单位:KB  
var ImgObj=new Image();  
if(ImgObj.complete){
ImgObj.onload;
}
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){    
     ImgObj.src=imgfile.files[0].getAsDataURL();
     ImgFileSize=Math.round(imgfile.files[0].fileSize/1024*100)/100;
         }  
   else{
   ImgObj.src=imgfile.value;
   ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得图片文件的大小
       }
   if(AllowImgFileSize<ImgFileSize)
   {
     alert("请上传小于"+AllowImgFileSize+"KB的文件,当前文件大小为"+ImgFileSize+"KB");
  document.getElementById("imgfile").value="";  //就是这一句话,在IE下没有成功执行。。。。。。。。。。。。
   mypic.src="";
   return;
   }
   mypic.src=ImgObj.src;
   mypic.style.display="";
   mypic.border=1;
}
------解决方案--------------------
HTML code
<body>
<input type="file" value="" id="tFile" />
<input type="button" value="ClearFile" onclick="clearFile()" />
<script type="text/javascript">
function clearFile() {
    var file = document.getElementById('tFile');
    file.value = "";
    if ( file.value ) {
        if ( document.all ) {
            with( file.parentNode.insertBefore(document.createElement('form'), file)) {
                appendChild(file); reset(); removeNode(false);
            }
        } else {
            file.type = "text"; file.type = "file";
        }
        
    } 
    
}
</script>
</body>