我有一个javascript函数,其目的是获取浏览的文件数。
该函数获取值len
并根据该值检查某些条件。除此之外,我正在尝试检索四个文件上传控件的ID。
function alertMe(len)
{
var fu1 = document.getElementById("FileUpload1");
var fu2 = document.getElementById("FileUpload2");
var fu3 = document.getElementById("FileUpload3");
var fu4 = document.getElementById("FileUpload4");
var myCars=new Array(fu1,fu2,fu3,fu4)
var l=0;
for(var i=0;i<myCars.length;i++)
{
if(myCars[i].value!=null)
l++;
}
if(len>6)
{
if(len==7 && l<=3)
window.location="uploo.aspx";
else if(len==8 && l<=2)
window.location="uploo.aspx";
else if(len==9 && l<=1)
window.location="uploo.aspx";
else
alert("you cant keep more than 10 files in your table,,delete some files first and then upload");
return false;
}
else
window.location="uploo.aspx";
}
该功能不会出现任何错误但无法正常工作。
假设len == 7
和l == 3
,它应该调用uploo.aspx
,而是显示警报消息。
为什么if(len==7 && l<=3)
在这种情况下没有评估true
?
答案 0 :(得分:0)
看起来你正在为已经存在的工具做一些额外的工作。 试试uploadify。我相信您可以设置可以上传的文件数量的限制,以及限制可以上传的文件类型。他们也可以一次上传多个文件。
答案 1 :(得分:0)
为了理智,我首先在var myCars
行的末尾添加缺少的分号。在某些IE浏览器中,如果你缺少那些分号,它们会以奇怪的方式窒息。
如果所有四个变量fu1-4都有值,那么变量l
将为4,您没有明确检查,哪些将落到alert()
错误情况(假设len > 6
)。
我会自由地添加一些调试跟踪器输出 - 例如在for循环后添加alert('l=' + l ', and len=' + len)
。
答案 2 :(得分:0)
尝试使用if(myCars[i].value)
而不是检查null
- value是一个字符串,即使是空字符串也是不等的null。
答案 3 :(得分:0)
您可以使用firebug检查值:
console.log(l);
如果你把它放在开关中,你应该看到firebug控制台中使用的值。