【我是菜鸟】真不知道是哪里出了错,哪位高手帮忙解决一下!上传图片的问题JScript codefunction filechang(){
【我是菜鸟】真不知道是哪里出了错,哪位高手帮忙解决一下!
上传图片的问题
- JScript code
function filechang() { var oFileChecker = document.all("loadImg"); var file=document.all("file1"); if(file.value!="") { str= file.value; strs=str.toLowerCase(); lens=strs.length; extname=strs.substring(lens-4,lens); oFileChecker.Width=0; oFileChecker.Height=0; alert("宽度:"+oFileChecker.offsetWidth+"高度:"+oFileChecker.offsetHeight); if(oFileChecker.offsetWidth<=176 && oFileChecker.offsetHeight<=178 && extname==".jpg") { alert("通过!"); return false; } else { alert("请选择176×178大小的JPG格式文件!"); return false; } } else { alert("请选择要上传的文件!"); return false; } }页面加载后第一次上传图片时,第一次用offsetWidth,offsetHeight检测的是图片控件最原始的尺寸,根本检测不到上传图片的真实大小。这要怎么解决啊?
[解决办法]
JS要取图片的像素尺寸,最好的方法就是用var o=new image(),然后读o.width和o.height,但当图片还没完全载入时,这个o.width和o.height就会为0,所以还要加判断,用o.onload或者用setTimeout去执行判断。这是目前我所知道JS取图片尺寸最准确的方法。
