我正在研究经典的Asp,我想通过查询字符串将下拉中选择的值发送到另一个表单。我尝试如下:
<FORM method="POST" action="Includes/bfl_forms.asp?type=S&id="&rsStates("UID")>
并且喜欢这样,但没有成功
<FORM method="POST" action="Includes/bfl_forms.asp?type=S&id="&dest.options[dest.selectedIndex].value>
但我填充的方式如下:
private sub generateStateDropDownList()`
temp = ""`
temp = temp + "<SELECT NAME=""dest"">" `
temp = temp + "<option value=""#"">Select a State"`
rsStates.MoveFirst`
Do While NOT rsStates.EOF`
temp = temp + "</SELECT>"'`
我无法将下拉值传递给新表单。请帮助我提前谢谢。
答案 0 :(得分:1)
您似乎错误地格式化了form
代码。你应该做这样的事情:
<form method="post" action="includes/bgl_forms.asp?type=S&id=<%= rsStates("UID") %>">
...或
<form method="post" action="includes/bgl_forms.asp?type=S&id=<%= Request.Form("dest") %>">
但是填充select
标记的代码有点遍布。首先,将输出直接写入缓冲区更有效,如下所示:
Response.Write("<select....")
而不是像这样建立一个字符串。
其次,您只需要提供option
标记的select
列表,就像这样......
<select id="dest" name="dest">
<% BuildOptions rsStates(destId) %>
</select>
中间的BuildOptions
函数将用于填充查找列表中的选项。
速度始终是CLassic ASP的关键。我建议您使用ADO RecordSet
对象的GetRows
之类的内容。
答案 1 :(得分:1)
如何使用GET而不是POST?
<form method="GET" action="includes/bgl_forms.asp">
这会将所有输入都放入查询字符串