刚学请教下表单验证的问题

u010705305 2013-05-15 03:47:07
下面的验证到检查大小为止都是可以的 但是在检查尺寸的时候无论图片的分辨率有没超过600*800 都是验证通过请问下要怎么改

<html>
<head>
<title>上传图片</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="style.css" rel="stylesheet" type="text/css">
<script language=javascript>


function fileChange(target){
//检测上传文件的类型
var imgName = document.all.file1.value;
var ext,idx;
if (imgName == ''){
document.all.B1.disabled=true;
alert("请选择需要上传的文件!");
return;
} else {
idx = imgName.lastIndexOf(".");
if (idx != -1){
ext = imgName.substr(idx+1).toUpperCase();
ext = ext.toLowerCase( );
// alert("ext="+ext);
if (ext != 'jpg' && ext != 'png' && ext != 'jpeg' && ext != 'gif'){
document.all.B1.disabled=true;
alert("只能上传.jpg .png .jpeg .gif类型的文件!");
document.getElementById("file1").value = "";
return;

}
} else {
document.all.B1.disabled=true;
alert("只能上传.jpg .png .jpeg .gif类型的文件!");

return;
}
}


//检测上传文件的大小
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var fileSize = 0;
if (isIE && !target.files){
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}


var size = fileSize / 1024*1024;


if(size>(1024*600)){
document.all.B1.disabled=true;
alert("文件大小不能超过600KB");
document.getElementById("file1").value = "";
}else{
document.all.B1.disabled=false;
}
var image=new Image();
image.src=document.myform.file1.value;
if (image.width>600||image.height>800){
alert("图片尺寸太大,请选择小于600*800的图片");
document.getElementById("file1").value = "";
return false;
}
return true
}

</script>
</head>

<body leftmargin="0" topmargin="0" bgcolor="#EEF2FB">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<form name="myform" method="post" action="upfile2.asp" enctype="multipart/form-data" language="javascript" >
<tr align="center" valign="middle">
<td height="15" align="left">
<input type="file" name="file1" id="file1" value="" style="width:190px; height:20px" onChange="fileChange(this);"> <input type="submit" value="上传" name="B1" id="B1" class="txt " isshowprocessbar="True"style=" height:20px" disabled="true"></td>
</tr>
</form>
</table>
</body>
</html>

...全文
88 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rihaduo202 2013-05-15
  • 打赏
  • 举报
回复
var image=new Image();    
        image.src=document.myform.file1.value;
查查你的图品路径对不对,应该是没能正确构造出一个image对象。
document.myform.file1.value
获取的只是你选中的文件的名字,并非整个路径。
u010705305 2013-05-15
  • 打赏
  • 举报
回复
有没人帮帮小弟

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧