我用Js客户端判断上传的文件大小,可是始终得不到img属性的图片大小,返回结果始终为1,请问各位高人这会是出现什么问题了啊?
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>标题页</title>
<script LANGUAGE="JavaScript">
function changeSrc(filePicker)
{
    alert("aaaa");
    alert(document.all.myImg.fileSize);
   //判断图片的大小是否大于50,或者小于0(没有选择图片)
   if(document.all.myImg.fileSize>1024*50||document.all.myImg.fileSize<=0)
   {
     alert('请选择小于50K的图片!');
     return false;                 //不执行任何操作
   }
   else{
    alert('上传没问题');
   }
}
</script>
</head>
<body>
<!--
<input type="file" id="jia" onChange="document.all.myImg.src=this.value"/>
<img src="" id="myImg" style="display:none">
<button onClick="Judge()">上传图片</button>
-->
<input type="file" name="myPic" type="text" size="45" onChange="changeSrc(this)">
<img src="" id="myImg" style="display:none">
</body>
</html>
请教高人 马上给分的

解决方案 »

  1.   

    document.all.myImg.fileSize 只有IE支持! 验证文件大小只能在后台验证!你这还存在最严重的问题:你的img 都没给它设置 src ,都没有加载任何图片!!!
      

  2.   

    可以用flash吧,搜索下swfupload,
      

  3.   

    不打算用flash啊 能在这个代码基础上修改下使之可用嘛?谢谢了啊 
      

  4.   

    <script LANGUAGE="JavaScript">
    function chkpic(){
    alert(document.all.myImg.fileSize);
    //判断图片的大小是否大于50K,或者小于0(没有选择图片)
    if(document.all.myImg.fileSize>1024*50||document.all.myImg.fileSize<=0)
    {
    alert('请选择小于50K的图片!');
    }
    else{
    alert('上传没问题');
    }
    }
    </script>
    </head>
    <body><input type="file" name="myPic" type="text" size="45" onChange="document.getElementById('myImg').src=this.value">
    <img src="" id="myImg"  onload="chkpic()" style="display:none">
      

  5.   

    js实现起来比较难的。IE7之后就不能得到全路径了。IE选项里面设置了才可以
      

  6.   

    请问下IE选项里怎么设置啊?
    或者有没有什么代码能在IE7里也能在上传图片前 判断图片文件大小的
      

  7.   

    试试这种办法可以吗?
    <input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
    <input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
    <img src="about:blank" id="fileChecker" alt="test"  height="18"/>
        
    //前面为网页
    <script type="text/javascript">
    var oFileChecker = document.getElementById("fileChecker");
        
    function changeSrc(filePicker)
    {
        oFileChecker.src = filePicker.value;//读图片
    }
        
    //这个很重要,判断是否完全读完,否则判断图片大小不准确
    oFileChecker.onreadystatechange = function ()
    {
         if (oFileChecker.readyState == "complete")
         {
            checkSize();
         }
    }
        
    function checkSize()
    {
         var limit  = document.getElementById("fileSizeLimit").value * 1024;
        
         if (oFileChecker.fileSize > limit)
         {
            alert("too large");
         }
         else
         {
            alert("ok");
         }
    }
    </script>