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

我想给生成的option手动加一项,总出错

发布于 2008-06-27 15:23, 762 次点击
====================================================================================
这段是网上流传的那段用的最多的级联代码,我借用了一下,红色部分是我修改的,原文是兰色部分:
<%  
call opendb()
dim count   
sql = "select * from e_dz2"  
set rs=conn.execute(sql)  
%>  

<SCRIPT language="JavaScript">  
var onecount;  
onecount=0;  
subcat = new Array();  
<%  
count = 0  
do while not rs.eof   
%>  
subcat[<%=count%>] = new Array("<%= trim(rs("dz2"))%>","<%= trim(rs("dz2name"))%>","<%= trim(rs("dz1"))%>");  
<%  
count = count + 1  
rs.movenext  
loop  
rs.close  
call closedb()
%>  
onecount=<%=count%>;  
function changelocation(locationid)  
{  
document.forme.dz3dz2.length=1
document.forme.dz3dz2.options(0).value="未细分"

(原文是:document.forme.dz3dz2.length=0)
var locationid=locationid;  
var i;  
for (i=0;i < onecount; i++)  
{  
if (subcat[i][2] == locationid)  
{   
document.forme.dz3dz2.options[document.forme.dz3dz2.length] = new Option(subcat[i][1], subcat[i][0]);  
}   
}  
changelocation2(document.forme.dz3dz2.options[document.forme.dz3dz2.selectedIndex].value)
}   
</SCRIPT>  


========================================================================================
这里是生成OPTION的代码段
<%  
call opendb()
sql = "select * from e_dz1"  
set rs= conn.execute(sql)  
if rs.eof and rs.bof then
call closedb()
response.write "请先添加一层地址。"  
response.end  
else  
%>
   
一层地址:<Select name="dz3dz1" onChange="changelocation(document.forme.dz3dz1.options

[document.forme.dz3dz1.selectedIndex].value)" >
<OPTION>未细分</OPTION>
<%   
do while not rs.eof  
%>
  <OPTION value="<%=trim(rs("dz1"))%>"><%=trim(rs("dz1name"))%></OPTION>  
<%  
rs.movenext  
loop  
end if  
rs.close  
call closedb()
%>  
</Select>   
===============================================================================
我希望的效果是,有一个"未细分"可以做默认项,或者说一种特殊情况的选择使用,但是现在只要一选择"未细分",提交以后就出现"至少一个参数没有被指定值。 "的错误提示
5 回复
#2
2008-06-27 15:26
提交后,会往数据库里  insert "未细分"
但是一直没有成功
#3
tianyu1232008-06-27 18:08
没有默认值
<OPTION>未细分</OPTION>

生成时加入默认值

<OPTION value="未细分">未细分</OPTION>
#4
2008-06-27 22:26
不是这个原因,如果没有加value的话,会自动以文本(也就是"未细分")作为value的
估计还是红色代码部分出了什么问题
#5
multiple19022008-06-27 22:28
count没有值。


forme是什么?form是表单,forms是表单集合,forme实在摸不着头脑……
#6
yms1232008-06-28 09:57
document.forme.dz3dz2.length=1
document.forme.dz3dz2.options(0).value="未细分"
(原文是:document.forme.dz3dz2.length=0)
推荐的option添加代码
var nOption=new Option("未细分","未细分");
document.forme.dz3dz2.add(nOption);
1