宽度和高度为0的问题是有时正常有时不正常
就是我传10张图,有4张会为0,其他都正常报错,
应该不是字符的转译问题用户上传图片怎么在Onload里面获取?页面加载的时候用户还没点击上传呢。呵呵

解决方案 »

  1.   

    不是很懂。
    <input type="file" name="file" id="fileHead" />
    <input name="Submit2" type="button" onclick="chargenHead()" class="eng" value="Upload" />
    然后JS就是上面的这个图片怎么Onload?你是说上传以后嘛?请指教。谢谢
      

  2.   

    当你给图片设置src的时候浏览器会去从服务器取图片,这个过程是要花费一定时间的,所以像你这样立即去取width/height很可能图片加载还没有完成,得到的值就是0了。但是因为是本地速度很快,所以有时候也有可能图片已经加载完成了,你就取到了正确的值。
    解决办法是给图片对象加一个onload事件观察器,把tempImg.src=vv;这句之后的所有代码放进去
    function chargenHead(){
        vv=document.getElementById("fileHead").value;
        var tempImg=new Image();
        tempImg.src=vv;
        tempImg.onload = function() {
            //****************得到图片宽度 
            ww=tempImg.width;
            //****************得到图片高度 
            hh=tempImg.height;
            alert(ww);
            if(ww>140 || hh>150){
                alert("Picture size is too big.  It should be 140(w)*150(h).");
                document.getElementById("form1").reset();
                return;
            }
            if(ww==0){
                alert("Please try again.(Error)");
                document.getElementById("form1").reset();
                return;
            }
            //document.getElementById("form1").target="_parent";
            //document.getElementById("form1").submit();
        }
    }