undefined为空或不是对象

yoshikage 2007-05-08 04:56:33
var aaa = document.getElementsByName("aaa");
if (aaa.length + "" == "undefined")
{
//...
}
//****************************
//*
//* 'undefined'为空或不是对象
//*
//****************************
...全文
2897 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
s1120624175 2011-08-31
  • 打赏
  • 举报
回复
if (aaa == null)
{

}
这不就行了 要是aaa都是undefined 还.length不是出事儿了吗
MuBeiBei 2011-08-30
  • 打赏
  • 举报
回复

沙漠水手 2011-08-30
  • 打赏
  • 举报
回复
楼上好耶!
btbtd 2007-05-09
  • 打赏
  • 举报
回复
晕, 大意,
getElementsByName 返回 Array
Array 肯定有 length 属性, 无元素时为0

var aaa = document.getElementsByName("aaa");
alert(aaa.length==0);

检测是否为零就是了...
yoshikage 2007-05-08
  • 打赏
  • 举报
回复
if(obj==null)
{
alert('obj is null!');
}

=================
这个我试过了,无效。
btbtd 2007-05-08
  • 打赏
  • 举报
回复
if(obj==null)
{
alert('obj is null!');
}
yoshikage 2007-05-08
  • 打赏
  • 举报
回复
function DelData(msg,checkboxId,url,parm)
{
if(confirm(msg))
{
var temp;
var theform = document.del;
var checkbox = document.getElementsByName(checkboxId);
if(checkbox.length > 0)
{
if(checkbox.length+"" == "undefined")
{
checkbox.length = 1;
}
if(checkbox.length == 1)
{
if(checkbox.checked)
{
temp = checkbox.value;
alert(temp);
}
}
else
{
for(var i=0;i<checkbox.length;i++)
{
if(checkbox[i].checked)
{
temp += checkbox[i].value+",";
}
}
}
if(temp.substring(0,temp.length) == ",")
{
temp = temp.substring(0,temp.length-1);
}
alert(temp);
checkbox.value = temp;
theform.action=url+parm;
theform.submit();
}
else
{
alert("当前没有信息记录!");
}
}
}


<input type="checkbox" value='<%=rs(0)%>' id="infoid" name="infoid">
<input name="del" type="button" class="FloatInput" value=" 删除 " onclick="DelData('确认删除?','infoid','Company.asp?CompanyType=','<%=Session("CompanyType")%>');">
rjzou2006 2007-05-08
  • 打赏
  • 举报
回复
能不能把你代码贴出来呢
哪样会更清楚一点的呢!
yoshikage 2007-05-08
  • 打赏
  • 举报
回复
忘了加上一句说明,

如果有几个checkbox,当你勾选了其中N个后,用js判断checkbox.length就不会为"undefined"

如果没有勾选,或者即使勾选了,再页面刷新后,checkbox消失了,checkbox.length就有可能为"undefined"。

但是我现在的问题很奇怪,直接报错,说"undefined"为空或不是对象
Clark21 2007-05-08
  • 打赏
  • 举报
回复
alert(typeof(aaa.length + "")),就会发现,结果是string,所以不会走
if (aaa.length + "" == "undefined")
typeof(返回一个用来表示表达式的数据类型的字符串。)
梅雪香 2007-05-08
  • 打赏
  • 举报
回复
你这个判断是毫无意义的
不管名字为aaa的元素是否存在
var aaa = document.getElementsByName("aaa");
都会返回一个object
aaa.length也都不会出现undefined,值为大于等于0的整数
adverse 2007-05-08
  • 打赏
  • 举报
回复
if (typeof(aaa.length) == "undefined")
hbhbhbhbhb1021 2007-05-08
  • 打赏
  • 举报
回复
写反了
var aaa = document.getElementsByName("aaa");
if (!aaa.length)
{
alert("undefined")
}
hbhbhbhbhb1021 2007-05-08
  • 打赏
  • 举报
回复
var aaa = document.getElementsByName("aaa");
if (aaa.length)
{
alert("undefined")
}
duwa789 2007-05-08
  • 打赏
  • 举报
回复
怎么了?
Clark21 2007-05-08
  • 打赏
  • 举报
回复
不知道你的问题是什么?

87,922

社区成员

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

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