经典 ASP 下拉菜单,保留值
Classic ASP dropdown menus, hold values
我正在做某事。所以,我去我的数据库,我想问他们想要什么类型的机器(基于数据库中的现有机器)
然后,我将根据类型检查模型。
最后,托盘数量
例子:
机器 1 有型号 2、3 和 4
机器 2 有模型 1、2 和 3
机器 1,模型 2 有 13 个托盘,机器 2 模型 2 有 15 个托盘
我的代码:
main.asp
<!DOCTYPE html>
<html>
<head>
<link href="mystyle.css" rel="stylesheet" type="text/css"/>
<script src="javascript/jquery-1.11.3.min.js"></script>
</head>
<body>
<!--Inicialization, ...-->
<%
dim model, typee, palete
typee=""
model=""
palete=""
dim perguntas(20)
Set conn = Server.CreateObject("ADODB.Connection")
Set conn2 = Server.CreateObject("ADODB.Connection")
conn_string = "Provider=sqloledb;Server=INF0148\SQLEXPRESS;Database=#####;Uid=####;Pwd=###########"
conn.commandTimeout = 60
conn.Open conn_string
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
function options(value, data, select_id)
Response.Write ("<option value=""" & value & """")
if request.form(select_id) = value then
Response.Write ("selected")
end if
Response.Write(">" & data & "</option>")
end function
%>
<div id="main">
<!--choose type of machine-->
<form method="post">
<select name="maq" id="maq" onchange="this.form.submit()">
<option value="">Type of Machine:</option>
<%
conn.close
conn.Open conn_string
rs.Open "SELECT DISTINCT Type FROM models", conn
do until rs.EOF
for each x in rs.Fields
options x.value, x.value, "maq"
next
rs.MoveNext
loop
%>
</select>
</form>
<%typee=Request.Form("maq")%>
<!--Choose model-->
<form method="form">
<select name="model" id="model" onchange="this.form.submit()">
<option value="">Model:</option>
<%
conn.close
conn.Open conn_string
rs.Open "SELECT DISTINCT Model FROM models WHERE Type='"&typee&"'", conn
do until rs.EOF
for each x in rs.Fields
options x.value, x.value, "model"
next
rs.MoveNext
loop
model=Request.Form("model")
%>
</select>
</form>
<!--Number of Palets-->
<form method="post">
<%
conn.close
conn.Open conn_string
rs.Open "SELECT N_Palets FROM Models WHERE Type='"&typee&"' AND Model='"&model&"'", conn
dim temp
temp=0
do until rs.EOF
for each x in rs.Fields
if not IsNull(x.value) then
if temp=0 then
response.write("<select name=palets id=palets onchange=""this.form.submit()"";>")
response.write("<option value="">Number of Palets:</option>")
temp=1
end if
options x.value, x.value, "palets"
end if
next
rs.MoveNext
loop
paletes=Request.Form("palets")
%>
</form>
</div>
</body>
</html>
所以,当我选择类型时...没关系,页面显示正确的模型...当我选择模型时,页面重新加载,然后我丢失了所有内容。
你能帮帮我吗?
提交表单只会提交该表单上的字段,不会提交其他表单上的任何其他字段。这就是为什么提交您的子表单之一会丢失所有内容的原因。要修复它,请添加具有必要父数据的隐藏字段。
<!--Choose model-->
<form method="post">
<input type="hidden" name="maq" value="<%=Request.Form("maq")%>">
<select name="model" id="model" onchange="this.form.submit()">
[...]
</select>
</form>
对于调色板表单,将机器和型号都添加为隐藏字段。
我正在做某事。所以,我去我的数据库,我想问他们想要什么类型的机器(基于数据库中的现有机器) 然后,我将根据类型检查模型。 最后,托盘数量
例子: 机器 1 有型号 2、3 和 4 机器 2 有模型 1、2 和 3 机器 1,模型 2 有 13 个托盘,机器 2 模型 2 有 15 个托盘
我的代码: main.asp
<!DOCTYPE html>
<html>
<head>
<link href="mystyle.css" rel="stylesheet" type="text/css"/>
<script src="javascript/jquery-1.11.3.min.js"></script>
</head>
<body>
<!--Inicialization, ...-->
<%
dim model, typee, palete
typee=""
model=""
palete=""
dim perguntas(20)
Set conn = Server.CreateObject("ADODB.Connection")
Set conn2 = Server.CreateObject("ADODB.Connection")
conn_string = "Provider=sqloledb;Server=INF0148\SQLEXPRESS;Database=#####;Uid=####;Pwd=###########"
conn.commandTimeout = 60
conn.Open conn_string
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
function options(value, data, select_id)
Response.Write ("<option value=""" & value & """")
if request.form(select_id) = value then
Response.Write ("selected")
end if
Response.Write(">" & data & "</option>")
end function
%>
<div id="main">
<!--choose type of machine-->
<form method="post">
<select name="maq" id="maq" onchange="this.form.submit()">
<option value="">Type of Machine:</option>
<%
conn.close
conn.Open conn_string
rs.Open "SELECT DISTINCT Type FROM models", conn
do until rs.EOF
for each x in rs.Fields
options x.value, x.value, "maq"
next
rs.MoveNext
loop
%>
</select>
</form>
<%typee=Request.Form("maq")%>
<!--Choose model-->
<form method="form">
<select name="model" id="model" onchange="this.form.submit()">
<option value="">Model:</option>
<%
conn.close
conn.Open conn_string
rs.Open "SELECT DISTINCT Model FROM models WHERE Type='"&typee&"'", conn
do until rs.EOF
for each x in rs.Fields
options x.value, x.value, "model"
next
rs.MoveNext
loop
model=Request.Form("model")
%>
</select>
</form>
<!--Number of Palets-->
<form method="post">
<%
conn.close
conn.Open conn_string
rs.Open "SELECT N_Palets FROM Models WHERE Type='"&typee&"' AND Model='"&model&"'", conn
dim temp
temp=0
do until rs.EOF
for each x in rs.Fields
if not IsNull(x.value) then
if temp=0 then
response.write("<select name=palets id=palets onchange=""this.form.submit()"";>")
response.write("<option value="">Number of Palets:</option>")
temp=1
end if
options x.value, x.value, "palets"
end if
next
rs.MoveNext
loop
paletes=Request.Form("palets")
%>
</form>
</div>
</body>
</html>
所以,当我选择类型时...没关系,页面显示正确的模型...当我选择模型时,页面重新加载,然后我丢失了所有内容。
你能帮帮我吗?
提交表单只会提交该表单上的字段,不会提交其他表单上的任何其他字段。这就是为什么提交您的子表单之一会丢失所有内容的原因。要修复它,请添加具有必要父数据的隐藏字段。
<!--Choose model-->
<form method="post">
<input type="hidden" name="maq" value="<%=Request.Form("maq")%>">
<select name="model" id="model" onchange="this.form.submit()">
[...]
</select>
</form>
对于调色板表单,将机器和型号都添加为隐藏字段。