我有一个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>
答案 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