问题我有一个列表控件,在网页上可能有也可能没有(可见)。新的jscript所以: 如果由于用户选项而隐藏控件,则jscript错误包含: 未捕获的TypeError:无法读取属性' length'未定义的 对于一些否则将处理可选列表控件的代码
我有一个班级:
function EmptyList()
{
this.options = [];
return this.options;
}
我分配了
dropdownlist = document.getElementById("<%=optionalList.ClientID%>");
if (dropdownlist == 'undefined') {
// hidden so does not exist client side
// give it the right type but never call it
dropdownlist = new EmptyList();
}
else if (dropdownlist == null) {
// hidden so does not exist client side
// give it the right type but never call it
dropdownlist = new EmptyList();
}
我曾经有一个错误,说无法读取选项......所以这似乎是正确的方向,但我认为所有数组都有一个长度......
由于
答案 0 :(得分:0)
通过将空对象的定义更改为:
来解决问题 function EmptyList()
{
var self = this;
self.options = [];
self.options.length = 0;
}
这创建了(使用新关键字)一个具有两个&#39;选项的对象变量&#39;作为一个数组属性和&#39;长度&#39;作为数组的属性。该脚本现在可以正常运行并解析选项和options.length