动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   JavaScript → 阅读文章

 Javascript 实现下拉列表连动,提示:Array not defined

作者来源: 
阅读 数 300 人次 , 2006-3-29 3:48:00 


有一个应用,要求一个下拉列表(class1)的变化触发另一个依赖列表(class2)的变化。参照《下拉框连动(数据库版)》,有以下程序片段:

<% sql = "select id, name, substring(id,1,2) bigclass from classone where type='1' order by id"
set rs = session("conn").execute(sql)
%>

<script language="javascript">
var onecount = 0;
subcat = new array(); <---------提示:array 未定义------------

<% count = 0
do while not rs.eof <--------- rs 已经是前面定义的recordset
%>
subcat[<%=count%>] = new array("<%=trim(rs("name"))%>","<%=trim(rs("bigclass"))%>","<%=trim(rs("id"))%>");
<% count = count+1
rs.movenext
loop
rs.close
set rs = nothing
%>
onecount = <%=count%>

function chgcls(){
for (var i=document.search.class2.options.length; i>0; i--){
document.search.class2.options[i]=null;
}
for (i = 0; i<onecount; i++){
bigclass = "'"&subcat[i][1]&"'";
if (document.search.class1.options[document.search.class1.selectedindex].value==bigclass){
document.search.class2.options[document.search.class2.length]=new option(subcat[i,0],subcat[i,2]);
}
}
}
</script>

下面是调用该函数的HTML语句:
。。。
<form id="search" name="search" method="post" action="query.asp">
<select name="class1" size=1 width=16 onchange="chgcls(document.search.class1.options[document.search.class1.selectedIndex].value)">
<%
Response.Write "<option selected value=''></option>"
sql="select id,name from classone where substring(id,3,1)='' order by id" '取设备代码的前两位
set menurs=session("conn").execute(sql)
do while not menurs.eof
Response.Write "<option value="&trim(menurs("id"))&">"&trim(menurs("name"))&"</option>"
menurs.movenext
loop
menurs.close
set menurs=nothing
%></select>

<select name="class2" size=1 width=16>
<option selected value=""></option>
</select>
.....
</form>

问题1:我在加入下列JavaScript 后,“array 未定义”不再出现,是否是JAVASCRIPT 本身的要求,还是与浏览器的版本有关?(我用IE4)
function array() {
this.length = array.arguments.length
for (var i = 0; i< this.length; i++) this[i+1] = array.arguments[i];
}

问题2:但是却提示:
document.search.class1.options[...].value 不是对象
为什么?
.......

 本文Tags组网  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:利用JavaScript实现时间段的查询
· 下一篇:使用JavaScript改进你的框架
· Javascript实例教程(21) OLE Automation(6)
· JavaScript实例 将首页地址添加到收藏夹
· JavaScript 实例--探测浏览器插件
· 初学Javascript之cookie篇
· JavaScript实例 “飞舞”特效


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077