这是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;

解决方案 »

  1.   

    本想错误是给一个值的,让它停下来,可是不行
    必须要等  img.attachEvent("onreadystatechange",orsc);   这个执行完
    所以搞不定,请各位帮忙了!!先谢谢了
      

  2.   

    我是想实现HTML中的功能,能给个这样的JS就可以了,谢谢,急!!!!
      

  3.   

    顶一下,
    只知道循环时用break; 暂停。
      

  4.   

    没有明白楼主的意思,也许把代码完整的贴出会好些。function   orsc()   
    {   
      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的情况下。
      

  5.   

    大家给我功能实现一下,不一定要我现在的那些代码
    这是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。不会的朋友顶!都有分的
      

  6.   

    javascript能检查文件信息???没听过~~~
      

  7.   

    csdn的高手们,出来给小弟帮帮忙哟
      

  8.   

    这是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。