2016-05-13 7 views
0

Ich habe ein HTML-Formular, das Kontaktdaten aktualisieren muss. Aber ... jeder Kontakt hat eine Anzahl von Autos mit verwandten Informationen, die als Tabellenzeilen mit Eingabezellen innerhalb des gleichen Formulars betrachtet werden. Autos Informationen müssen auch aktualisiert werden. Die Anzahl der Autos für jede Person ist nicht im Voraus bekannt. Wie kann ich das im Server mit Request.Form behandeln;Formular handlig mit variablen Elementen

Dank

<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

Zum Beispiel: Wenn eine Person 3 vechicles hat, dann haben wir eine Sammlung von 3 Artikel in Request.Form ("VechicleID"): Request.Form ("VechicleID") (0) Request.Form ("VechicleID") (1) Request.Form ("VechicleID") (2) Dasselbe für die anderen Eingänge (info1, info2, info3) Wenn jeder Sammlungsindex entspricht das gleiche Fahrzeug dann ist es ok. Aber ist das wahr? – nonlinearly

+0

Sorry ... nicht 0,1,2 aber 1,2,3 – nonlinearly

Antwort

0

Sie müssen irgendeine Art von Zählervariablen haben zwischen den Zeilen zu unterscheiden. Meinst du auch wirklich, dass der Benutzer die Fahrzeug-ID ändern kann?

<% 
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> 

Dann, wenn Sie Werte aus dem Formular lesen, können Sie eine Schleife durch die gleichen Indizes:

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 
+0

in forms code du hast nicht das i innen für nächste ... etwas ist falsch – nonlinearly

+0

@nonlinearly: oops, sorry, du hast recht. Jetzt behoben. (Dumm "ändern Sie Ihre Meinung über die Hälfte durch" Arten von Fehlern ...) – Martha

+0

@nonlinearly Wenn diese Antwort half, in Betracht ziehen, es zu akzeptieren. Bitte sehen Sie: [Was soll ich tun, wenn jemand meine Frage beantwortet?] (Http://stackoverflow.com/help/someone-answers) – SearchAndResQ