这是HTML代码
<form name="form1" action="uploadPIC.asp" method="post" enctype="multipart/form-data" >
照片一 <input class="ainput" NAME="file1" TYPE="file" style="width: 441; height: 19"> 照片二 <input class="ainput" NAME="file2" TYPE="file" style="width: 441; height: 19">
照片三 <input class="ainput" NAME="file3" TYPE="file" style="width: 441; height: 19">
照片四 <input class="ainput" NAME="file4" TYPE="file" style="width: 441; height: 19">
照片五 <input class="ainput" NAME="file5" TYPE="file" style="width: 441; height: 19">
<input type="button" value="上 传" name="B1" class="bt" onclick="ChkAddPhoto()">
</form>要JS实现这个功能:能自动检查上传照片格式,只能是图片且每张照片小于2M,我下面的代码有问题,怎是在检查是不能停止。盼高手朋友回答,不会的朋友顶!都有分的
//检查上传照片
function ChkAddPhoto()
{
var errt=0;
var ct = 0;
for(i=1;i<=5;i++)
{
var filename =document.getElementsByName("file"+i)[0];
var strFileName=filename.value;
if (strFileName=="")
{
errt = errt +1 ;
}else{
alert(checkexname(strFileName));
if (checkexname(strFileName)==6)
{
ct = ct+1
}
}
}
if(errt=='5')
{
alert("请选择要上传的文件");
document.form1.file1.focus();
return false;
}
if (errt==5-ct)
{
var a = 5-errt;
form1.action = "AddPhoto_Do.asp?a=" + a;
form1.submit();
}
}
var img=null;
var st =0;
function checkexname(strFileName)
{
if(img)img.removeNode(true);
img=document.createElement("img");
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
img.src=strFileName;
}
function oe()
{ st = 6;
alert("上传的照片中有非允许的图片格式!");
return false;
}
function orsc()
{
if(img.readyState!="complete") return false;
if(img.fileSize>2097152){
st=6;
alert("上传的照片中有大于 2M 的照片,请处理后上传!");
return false;
}
return st;
}
<form name="form1" action="uploadPIC.asp" method="post" enctype="multipart/form-data" >
照片一 <input class="ainput" NAME="file1" TYPE="file" style="width: 441; height: 19"> 照片二 <input class="ainput" NAME="file2" TYPE="file" style="width: 441; height: 19">
照片三 <input class="ainput" NAME="file3" TYPE="file" style="width: 441; height: 19">
照片四 <input class="ainput" NAME="file4" TYPE="file" style="width: 441; height: 19">
照片五 <input class="ainput" NAME="file5" TYPE="file" style="width: 441; height: 19">
<input type="button" value="上 传" name="B1" class="bt" onclick="ChkAddPhoto()">
</form>要JS实现这个功能:能自动检查上传照片格式,只能是图片且每张照片小于2M,我下面的代码有问题,怎是在检查是不能停止。盼高手朋友回答,不会的朋友顶!都有分的
//检查上传照片
function ChkAddPhoto()
{
var errt=0;
var ct = 0;
for(i=1;i<=5;i++)
{
var filename =document.getElementsByName("file"+i)[0];
var strFileName=filename.value;
if (strFileName=="")
{
errt = errt +1 ;
}else{
alert(checkexname(strFileName));
if (checkexname(strFileName)==6)
{
ct = ct+1
}
}
}
if(errt=='5')
{
alert("请选择要上传的文件");
document.form1.file1.focus();
return false;
}
if (errt==5-ct)
{
var a = 5-errt;
form1.action = "AddPhoto_Do.asp?a=" + a;
form1.submit();
}
}
var img=null;
var st =0;
function checkexname(strFileName)
{
if(img)img.removeNode(true);
img=document.createElement("img");
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
img.src=strFileName;
}
function oe()
{ st = 6;
alert("上传的照片中有非允许的图片格式!");
return false;
}
function orsc()
{
if(img.readyState!="complete") return false;
if(img.fileSize>2097152){
st=6;
alert("上传的照片中有大于 2M 的照片,请处理后上传!");
return false;
}
return st;
}
必须要等 img.attachEvent("onreadystatechange",orsc); 这个执行完
所以搞不定,请各位帮忙了!!先谢谢了
只知道循环时用break; 暂停。
{
if(img.readyState!="complete")return false; //“本想错误是给一个值的,让它停下来,可是不行” 这里是不是你故意给的错误?
if(img.fileSize>2097152){
st=6;
alert("上传的照片中有大于 2M 的照片,请处理后上传!");
return false;
}
return st;
} 不知道你的问题是否是上面我注释的地方?你是否说故意在这里给一个错误的值让函数返回false让程序停止?
我没有用过attachEvent,但是猜想应该是将事件和函数绑定的意思,而onreadystatechange一般在ajax中见过,所以我猜想是你对如何终止ajax交互的过程不清楚。如果不对就当抛砖:)
对于onreadystatechange来说,如果绑定了函数,那么只要这个事件发生就是调用绑定的函数,在一个http交互的过程中一般是会四次引起这个事件,如果要在某次执行后停止后面的,使用abort即可,而不是在调用的函数中return false。
return false而让程序停止执行的时候只是在直接的html属性中使用js的情况下。
这是HTML代码
<form name="form1" action="uploadPIC.asp" method="post" enctype="multipart/form-data" >
照片一 <input class="ainput" NAME="file1" TYPE="file" style="width: 441; height: 19"> 照片二 <input class="ainput" NAME="file2" TYPE="file" style="width: 441; height: 19">
照片三 <input class="ainput" NAME="file3" TYPE="file" style="width: 441; height: 19">
照片四 <input class="ainput" NAME="file4" TYPE="file" style="width: 441; height: 19">
照片五 <input class="ainput" NAME="file5" TYPE="file" style="width: 441; height: 19">
<input type="button" value="上 传" name="B1" class="bt" onclick="ChkAddPhoto()">
</form>要JS实现这个功能:能自动检查上传照片格式,只能是图片且每张照片小于2M。不会的朋友顶!都有分的
<form name="form1" action="uploadPIC.asp" method="post" enctype="multipart/form-data" >
照片一 <input class="ainput" NAME="file1" TYPE="file" style="width: 441; height: 19"> 照片二 <input class="ainput" NAME="file2" TYPE="file" style="width: 441; height: 19">
照片三 <input class="ainput" NAME="file3" TYPE="file" style="width: 441; height: 19">
照片四 <input class="ainput" NAME="file4" TYPE="file" style="width: 441; height: 19">
照片五 <input class="ainput" NAME="file5" TYPE="file" style="width: 441; height: 19">
<input type="button" value="上 传" name="B1" class="bt" onclick="ChkAddPhoto()">
</form>要JS实现这个功能:能自动检查上传照片格式,只能是图片且每张照片小于2M。