asp中的form中,select下拉菜单,如何传递2个值?
我的思路是:1.从数据库中读取所有的产品类型编号(prod_type)和产品类型(prod_name),生成下拉菜单,进行选择2.选择后提交,传递表单数据到本页,3.添加...
我的思路是:
1.从数据库中读取所有的产品类型编号(prod_type)和产品类型(prod_name),生成下拉菜单,进行选择
2.选择后提交,传递表单数据到本页,
3.添加记录prod_type和prod_name到数据库
目前存在的问题:下拉菜单中,我只能发送option中的value值(prod_type),而无法传递prod_name值,该怎么办?
<form name="form1" method="post" action="">
<%sql="select * from prod_type"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
%>
<select name="prod_type">
<option value="--请选择--">--请选择--</option>
<% For i=1 To rs.Pagesize
If rs.Eof Then Exit For
%>
<option value="<%=rs("prod_type")%>"><%=rs("prod_name")%></option>
<%rs.movenext
next
%> 展开
1.从数据库中读取所有的产品类型编号(prod_type)和产品类型(prod_name),生成下拉菜单,进行选择
2.选择后提交,传递表单数据到本页,
3.添加记录prod_type和prod_name到数据库
目前存在的问题:下拉菜单中,我只能发送option中的value值(prod_type),而无法传递prod_name值,该怎么办?
<form name="form1" method="post" action="">
<%sql="select * from prod_type"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
%>
<select name="prod_type">
<option value="--请选择--">--请选择--</option>
<% For i=1 To rs.Pagesize
If rs.Eof Then Exit For
%>
<option value="<%=rs("prod_type")%>"><%=rs("prod_name")%></option>
<%rs.movenext
next
%> 展开
4个回答
展开全部
有两种解决方式:
1、修改option的值
<option value="<%=rs("prod_type")%>|<%=rs("prod_name")%>"><%=rs("prod_name")%></option>
这样的话,就可以接收到如下的数据 XXX|YYYY ,这时,楼主只要将接收的数据分割一下就行了 前面的就是你的prod_type,后面的是prod_name
2、既然你的prod_type 和 prod_name都是数据库里读出来了,那么你只传一个就够了,这样你的代码不用修改。只是接收数据以后,再做一次数据库查询,得到prod_name,然后保存就可以了。
建议使用第二种方式。
-----------------------------------------------------
PS:有空请帮我踩踩我的空间,谢谢。
1、修改option的值
<option value="<%=rs("prod_type")%>|<%=rs("prod_name")%>"><%=rs("prod_name")%></option>
这样的话,就可以接收到如下的数据 XXX|YYYY ,这时,楼主只要将接收的数据分割一下就行了 前面的就是你的prod_type,后面的是prod_name
2、既然你的prod_type 和 prod_name都是数据库里读出来了,那么你只传一个就够了,这样你的代码不用修改。只是接收数据以后,再做一次数据库查询,得到prod_name,然后保存就可以了。
建议使用第二种方式。
-----------------------------------------------------
PS:有空请帮我踩踩我的空间,谢谢。
展开全部
你的思路有问题,传递应该是一个主键值,再根据这个主键值从数据库里读取才对,比如你prod_type的主键是id,给你写过示范:
<%
if request.form("prod_type")<>"" then
id=request.form("prod_type")
sql1="select * from prod_type where id="&id'如果id是数字类型
'sql1="select * from prod_type where id='"&id&"'"'如果id是字符串类型
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,conn,1,1
prod_type=rs1("prod_type")
prod_name=rs1("prod_name")
rs1.Close
set rs1=nothing
然后把 prod_type prod_name写入到你想要写入的表就可以了
end if
%>
<form name="form1" method="post" action="">
<%sql="select * from prod_type"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
%>
<select name="prod_type">
<option value="--请选择--">--请选择--</option>
<% For i=1 To rs.Pagesize
If rs.Eof Then Exit For
%>
<option value="<%=rs("id")%>"><%=rs("prod_name")%></option>
<%rs.movenext
next
%>
<%
if request.form("prod_type")<>"" then
id=request.form("prod_type")
sql1="select * from prod_type where id="&id'如果id是数字类型
'sql1="select * from prod_type where id='"&id&"'"'如果id是字符串类型
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,conn,1,1
prod_type=rs1("prod_type")
prod_name=rs1("prod_name")
rs1.Close
set rs1=nothing
然后把 prod_type prod_name写入到你想要写入的表就可以了
end if
%>
<form name="form1" method="post" action="">
<%sql="select * from prod_type"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
%>
<select name="prod_type">
<option value="--请选择--">--请选择--</option>
<% For i=1 To rs.Pagesize
If rs.Eof Then Exit For
%>
<option value="<%=rs("id")%>"><%=rs("prod_name")%></option>
<%rs.movenext
next
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把两个值连接起来中间用特定符号分隔 放到value中
然后接收的时候再把他们分开就可以了。
或者就是加一个隐藏域然后用js了。
然后接收的时候再把他们分开就可以了。
或者就是加一个隐藏域然后用js了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下拉菜单 有单选的那种 还有一个是下拉列表 可以多选的..传值是数组形式,自己看看基础
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询