帮忙看看这段代码问题出在哪里

phuai007 2011-02-10 02:56:22

function checkType(){
//得到上传文件的值
var fileName=document.getElementById("FileUpLoad1").value;
//返回String对象中子字符串最后出现的位置.
var seat=fileName.lastIndexOf(".");
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension=fileName.substring(seat).toLowerCase();
var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
if(fileName.length=="")
{
alert("请选择要上传的文件");
return false;
}
else
{
for(var i=0;i<allowed.length;i++)
{
if((allowed[i]==extension))
{
return true;
}
else
{
alert("不支持"+extension+"格式");
return false;
}
}
}
}

目前问题是,只要不是jpg格式,就弹出“不支持某某格式”,比如是gif文件就弹出“不支持gif格式”。
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
phuai007 2011-02-10
  • 打赏
  • 举报
回复
嗯,你写这个也不错,给分
灬上海爽爷 2011-02-10
  • 打赏
  • 举报
回复
需要加一个全局变量。

function checkType(){   
//得到上传文件的值
var fileName=document.getElementById("FileUpLoad1").value;
//返回String对象中子字符串最后出现的位置.
var seat=fileName.lastIndexOf(".");
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension=fileName.substring(seat).toLowerCase();
var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
if(fileName.length=="")
{
alert("请选择要上传的文件");
return false;
}
else
{
var istrue=0;
for(var i=0;i<allowed.length;i++)
{
if((allowed[i]==extension))
{
istrue=1;
}
}
if(istrue==1)
{
return true;
}
else
{
alert("不支持"+extension+"格式");
return false;
}
}
}
phuai007 2011-02-10
  • 打赏
  • 举报
回复
解决了,原来是放错地方了

//文件上传检查
function checkType(){
//得到上传文件的值
var fileName=document.getElementById("FileUpLoad1").value;
//返回String对象中子字符串最后出现的位置.
var seat=fileName.lastIndexOf(".");
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension=fileName.substring(seat).toLowerCase();
var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
if(fileName.length=="")
{
alert("请选择要上传的文件");
return false;
}
else
{
for(var i=0;i<allowed.length;i++)
{
if((allowed[i]==extension))
{
return true;
}
}
alert("不支持"+extension+"格式");
return false;
}
}

alert("不支持"+extension+"格式");
应该放到for外面才对。

87,902

社区成员

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

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