日期:2014-05-16  浏览次数:20421 次

上传前检测客户端文件名后缀是否合法
如果只是一个input,以下代码即可:

<SCRIPT   language= "javascript ">
function   isPic(){    
var   ExtList   =   ".jpg.gif.bmp.png.swf ";
var   filename   =   upfile.filename.value  
var   the_ext   =   filename.substr(filename.lastIndexOf( ". ")+1).toLowerCase();  
if   (ExtList.indexOf(the_ext)==-1){  
alert( "请选择规定范围的图片文件! ");
                return   false;
        }
        return   true;
}
</SCRIPT>
<form   method= "post "   name= "upfile ">
<input   type=file   name= "filename ">
<input   type=submit   value= "上传 "   onclick= "return   isPic() ">
</form>


但是,我现在需要判断多个 <input> ,而且每个input的name属性都一样是filename,如下:
<form   method= "post "   name= "upfile ">
<input   type=file   name= "filename ">
<input   type=file   name= "filename ">
<input   type=file   name= "filename ">
<input   type=file   name= "filename ">
</form>  
这样子上面判断的代码就不行了,
问以上代码怎么改可以判断每个input的文件类型是否都符合.jpg.gif.bmp.png.swf   ?

------解决方案--------------------
<SCRIPT language= "javascript ">
function chk(){
var b = true;
var list = document.upfile.filename;
for(var i=0;i <list.length;i++){
if(!isPic(list[i].value)){
b = false;
break;
}
}
return b;
}
function isPic(filename){
var ExtList = ".jpg.gif.bmp.png.swf ";
var the_ext = filename.substr(filename.lastIndexOf( ". ")+1).toLowerCase();
if (ExtList.indexOf(the_ext)==-1){
alert( "请选择规定范围的图片文件! ");
return false;
}
return true;
}
</SCRIPT>
------解决方案--------------------
取得所有的fileupload控件,进行遍历!
设置所有的上传控件相同的name= "fileuplaod "
document.getElementsByName(= "fileuplaod ")
for循环即可1