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
%>
展开
 我来答
kxl361
推荐于2016-09-09 · TA获得超过393个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:862万
展开全部
有两种解决方式:

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:有空请帮我踩踩我的空间,谢谢。
zwb001
2010-05-10 · TA获得超过671个赞
知道小有建树答主
回答量:1971
采纳率:0%
帮助的人:2667万
展开全部
你的思路有问题,传递应该是一个主键值,再根据这个主键值从数据库里读取才对,比如你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
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
335337275
2010-05-10 · 超过19用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:67.4万
展开全部
你把两个值连接起来中间用特定符号分隔 放到value中
然后接收的时候再把他们分开就可以了。
或者就是加一个隐藏域然后用js了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清风之无痕岁月05
2015-09-29 · TA获得超过236个赞
知道小有建树答主
回答量:487
采纳率:77%
帮助的人:141万
展开全部
下拉菜单 有单选的那种 还有一个是下拉列表 可以多选的..传值是数组形式,自己看看基础
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式