首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

document.getElementById().value在ie下不起作用,在火狐中可以,该如何处理

2012-03-16 
document.getElementById().value在ie下不起作用,在火狐中可以这是一个上传图片在本地预览的功能,JS检测超

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> 

热点排行