注册 登录
编程论坛 ASP技术论坛

document.myform.BigClassName.options' 为空或不是对象

a309223515 发布于 2011-04-08 01:07, 2069 次点击
测试的一个二级分类,上次也是用的这个程序都成功了。对照着看也看看出是哪出了问题
把程序贴出来麻烦帮看一下,谢谢

网页错误详细信息
消息: 'document.myform.BigClassName.options' 为空或不是对象
行: 75
字符: 1
代码: 0
程序代码:

<form method="POST" name="myform">
        <%
        
set rs=server.createobject("adodb.recordset")
        sql
= "select * from [SmallClass] "
        rs.open sql,conn,
1,1
        
%>
   <script language = "JavaScript">
        
var onecount;
        subcat
= new Array();
        
<%
        count
= 0
        
do while not rs.eof
        
%>
subcat[
<%=count%>] = new Array("<%= trim(rs("SmallClassName"))%>","<%= trim(rs("BigClassName"))%>","<%= trim(rs("SmallClassName"))%>");
        
<%
        count
= count + 1
        rs.movenext
        loop
        rs.close
        
%>
        onecount
=<%=count%>;
   
function changelocation1(locationid)
    {
    document.myform.SmallClassName.length
= 1;
   
var locationid=locationid;
   
var i;
   
for (i=0;i < onecount; i++)
        {
            
if (subcat[i][1] == locationid)
            {
                document.myform.SmallClassName.options[document.myform.SmallClassName.length]
= new Option(subcat[i][0], subcat[i][2]);  //这是第75行
            }      
        }
    }
</script>
  <table width="100%" height="32" border="0" cellpadding="0" cellspacing="1">
    <tr>
      <td height="30" align="left">
       <%
        
set rs=server.createobject("adodb.recordset")
        sql
= "select * from [BigClass]"
        rs.open sql,conn,
1,1
        
if rs.eof and rs.bof then
        response.write
"请先添加栏目。"
        
else
      
%>
       <select name="BigClassid" id="BigClassid" onChange="changelocation(document.myform.BigClassName.options[document.myform.BigClassid.selectedindex2].value)" size="1" >
        <option selected value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
        <%
        
dim selclass
        selclass
=rs("BigClassName")
        rs.movenext
        
do while not rs.eof
        
%>
        <option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
        <%
        rs.movenext
        
loop
        
end if
        rs.close
        
%>
        </select>
        <select name="SmallClassName" id="SmallClassName" size="1">
        <option value="">不指定小类</option>
        <%
        
set rs=server.createobject("adodb.recordset")
        sql
="select * from [SmallClass] where BigClassName='" & selclass & "'"
        rs.open sql,conn,
1,1
        
if not(rs.eof and rs.bof) then
        
%>
        <option value="<%=rs("SmallClassName")%>" selected="selected"><%=rs("SmallClassName")%></option>
        <% do while not rs.eof%>
        <option value="<%=rs("SmallClassName")%>"><%=rs("SmallClassName")%></option>
        <%
        rs.movenext
        
loop
        
end if
        rs.close
        
%>
        </select>
        <input name="cubname" type="text" id="cubname" size="15" />
        <input type="submit" name="Submit" value="提交" />
      </td>
    </tr>
  </table>
</form>





 
8 回复
#2
dzt00012011-04-08 08:29
这是JS错误,不是ASP错误,请将生成的HTML代码发上来
#3
a3092235152011-04-08 16:04
回复 楼主 a309223515
大哥这不是什么成静态的,这是所有的程序了
上面还有这个但没有程序,位置我也换了的,都是一样的错
<!--#include file="opendb.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表单</title>
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" align="center" cellpadding="1" cellspacing="1" bordercolor="#993333" bgcolor="#FFFFFF" >
  <tr>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">所属</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">项目名称</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">设计</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">时间</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">回复</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">时间</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">来到</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">时间</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">厅长</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">时间</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">用时</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">编辑</td>
  </tr>
  <tr>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
  </tr>
</table>
<br />
<br />
<br />
#4
dzt00012011-04-08 17:10
用浏览器,菜单:查看-查看源文件,或者网页上空白处点右键-查看源文件,把这个代码发上来。标一下75行


[ 本帖最后由 dzt0001 于 2011-4-8 17:11 编辑 ]
#5
a3092235152011-04-08 17:16
回复 4楼 dzt0001
一开始我就标过了的,我再发
网页错误详细信息
消息: 'document.myform.BigClassName.options' 为空或不是对象
行: 74
字符: 1
代码: 0
URI: http://127.0.0.1:8080/index2.asp


程序代码:
<!--#include file="opendb.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.>
<html xmlns="http://www.>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表单</title>
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" align="center" cellpadding="1" cellspacing="1" bordercolor="#993333" bgcolor="#FFFFFF" >
  <tr>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">时间</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">用时</td>
    <td align="center" bordercolor="#000000" bgcolor="#FFFFFF">编辑</td>
  </tr>
  <tr>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
    <td bordercolor="#000000" bgcolor="#FFFFFF">&nbsp;</td>
  </tr>
</table>
<br />
<br />
<br />

<form method="POST" name="myform">
        <%
        
set rs=server.createobject("adodb.recordset")
        sql
= "select * from [SmallClass] "
        rs.open sql,conn,
1,1
        
%>
   <script language = "JavaScript">
        
var onecount;
        subcat
= new Array();
        
<%
        count
= 0
        
do while not rs.eof
        
%>
subcat[
<%=count%>] = new Array("<%= trim(rs("SmallClassName"))%>","<%= trim(rs("BigClassName"))%>","<%= trim(rs("SmallClassName"))%>");
        
<%
        count
= count + 1
        rs.movenext
        loop
        rs.close
        
%>
        onecount
=<%=count%>;
   
function changelocation1(locationid)
    {
    document.myform.SmallClassName.length
= 1;
   
var locationid=locationid;
   
var i;
   
for (i=0;i < onecount; i++)
        {
            
if (subcat[i][1] == locationid)
            {
          document.myform.SmallClassName.options[document.myform.SmallClassName.length]
= new Option(subcat[i][0], subcat[i][2]);这是担示的错误行
            }      
        }
    }
</script>
  <table width="100%" height="32" border="0" cellpadding="0" cellspacing="1">
    <tr>
      <td height="30" align="left">
       <%
        
set rs=server.createobject("adodb.recordset")
        sql
= "select * from [BigClass]"
        rs.open sql,conn,
1,1
        
if rs.eof and rs.bof then
        response.write
"请先添加栏目。"
        
else
      
%>
       <select name="BigClassid" id="BigClassid" onChange="changelocation(document.myform.BigClassName.options[document.myform.BigClassid.selectedindex].value)" size="1" >
        <option selected value="<%=trim(rs("Bid"))%>"><%=trim(rs("BigClassName"))%></option>
        <%
        
dim selclass
        selclass
=rs("BigClassName")
        rs.movenext
        
do while not rs.eof
        
%>
        <option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
        <%
        rs.movenext
        
loop
        
end if
        rs.close
        
%>
        </select>
        <select name="SmallClassName" id="SmallClassName" size="1">
        <option value="">不指定小类</option>
        <%
        
set rs=server.createobject("adodb.recordset")
        sql
="select * from [SmallClass] where BigClassName='" & selclass & "'"
        rs.open sql,conn,
1,1
        
if not(rs.eof and rs.bof) then
        
%>
        <option value="<%=rs("SmallClassName")%>" selected="selected"><%=rs("SmallClassName")%></option>
        <% do while not rs.eof%>
        <option value="<%=rs("SmallClassName")%>"><%=rs("SmallClassName")%></option>
        <%
        rs.movenext
        
loop
        
end if
        rs.close
        
%>
        </select>
        <input name="cubname" type="text" id="cubname" size="15" />
        <input type="submit" name="Submit" value="提交" />
      </td>
    </tr>
  </table>
</form>
</body>
</html>

 
#6
dzt00012011-04-08 17:23
我要疯了,看看我4楼是什么写的。
#7
a3092235152011-04-08 18:03
回复 6楼 dzt0001
呵呵不好意思我光看他执行的了
这是他的源文件
程序代码:
<form method="POST" name="myform">
        
   <script language = "JavaScript">
        var onecount;
        subcat = new Array();
      
subcat[0] = new Array("程序","大幅度法","程序");
      
subcat[1] = new Array("设计","毵毵","设计");
      
subcat[2] = new Array("维护","地水豆腐","维护");
        
        onecount=3;
    function changelocation1(locationid)
    {
    document.myform.SmallClassName.length = 1;
    var locationid=locationid;
    var i;
    for (i=0;i < onecount; i++)
        {
            if (subcat[i][1] == locationid)
            {
          document.myform.SmallClassName.options[document.myform.SmallClassName.length] = new Option(subcat[i][0], subcat[i][2]);
            }      
        }
    }
</script>
  <table width="100%" height="32" border="0" cellpadding="0" cellspacing="1">
    <tr>
      <td height="30" align="left">
      
       <select name="BigClassid" id="BigClassid" onChange="changelocation(document.myform.BigClassName.options[document.myform.BigClassid.selectedindex].value)" size="1" >
     
        <option selected value="1">先锋队</option>//////////////////////// 这是第错误行
        
        <option value="飞虎队">飞虎队</option>
        
        </select>
        <select name="SmallClassName" id="SmallClassName" size="1">
        <option value="">不指定小类</option>
        
        </select>
        <input name="cubname" type="text" id="cubname" size="15" />
        <input type="submit" name="Submit" value="提交" />
      </td>
    </tr>
  </table>
</form>


#8
dzt00012011-04-08 21:32
BigClassName这个表单控件在哪里?
#9
a3092235152011-04-09 00:31
回复 8楼 dzt0001
大哥谢谢你,我搞好了
非常感谢
1