使用可变元素

时间:2016-05-13 12:40:10

标签: asp-classic

我有一个html表单,必须更新联系人数据。但是......每个联系人都有许多汽车,其相关信息被视为表格行,输入单元格在同一表格中。汽车信息也必须更新。每个人的车数预先不知道。如何在带有Request.Form的服务器中处理此问题;

由于

<form action="#" method="post">
<table>
    <tr><td>ID</td><td>INFO1</td><td>INFO2</td><td>INFO3</td></tr>
    <%While Not rsVechicles.Eof%>
    <tr>
        <td><input name="VechicleID" value=<%=rsVechicles("VechicleID")%> /></td>
        <td><input name="info1" value=<%=rsVechicles("info1")%> /></td>
        <td><input name="info2" value=<%=rsVechicles("info2")%> /></td>
        <td><input name="info3" value=<%=rsVechicles("info3")%> /></td>
    </tr>
    <%rsVechicles.MoveNext%>
    <%Wend%>

</table>

1 个答案:

答案 0 :(得分:0)

您需要使用某种计数器变量来区分行。另外,您真的是指用户能够更改车辆ID吗?

<%
dim v
v = 0
%>
<form method="post" action="thispage.asp">
<table><tr><th>ID</th><th>Info 1</th><th>Info 2</th><th>Info 3</th></tr>
<%
While Not rsVehicles.EOF
    v = v + 1
    Response.Write "<tr><td><input type='hidden' name='ID_" & v & "'"
    Response.Write " value='" & rsVehicles("VehicleID") & "'>"
    Response.Write rsVehicles("VehicleID") & "</td>"
    For i = 1 to 3
        Response.Write "<td><input type='text' name='Info" & i & "_" & v & "'"
        Response.Write " value='" & rsVehicles("Info" & i) & "'></td>"
    Next
    Response.Write "</tr>"
    rsVehicles.Movenext
Wend
Response.Write "<input type='hidden' name='N' value='" & v & "'>"
%>
</table>

然后,当您从表单中读取值时,可以遍历相同的索引:

v = Request.Form("N") '- number of vehicles
For i = 1 to v
    Vehicles(i,0) = Request.Form("ID_" & i)
    For j = 1 to 3
        Vehicles(i,j) = Request.Form("Info" & j & "_" & i)
    Next
Next