|
Dialogsteuerung - Steuerung von Arbeitsschritten
Bei der Eingabe von Daten muss der Benutzer dasselbe Programm in mehreren Schritten rufen. Zum Beispiel:
Manchmal kann man am augenbicklichen Inhalt der Formular-Felder erkennen, um welchen Arbeitsschritt es sich gerade handelt. Um das Problem generell zu lösen, gibt man dem Formular ein unsichtbares Feld mit (<INPUT TYPE=HIDDEN>). Da dieses Feld unverändert hin- und hergeschickt wird, kann man es von der Server-Seite aus zum Aufbewahren von Informationen verwenden. Ein Programmbeispiel:
<% Option Explicit
'in diesem Beispiel gibt es ein verborgenes Eingabefeld mit dem Namen "Zustand"
'und auch eine Variable mit dem gleichen Namen.
'Beim ersten Aufruf gibt es noch keine Eingabefelder – deshalb liefert der Befehl
'Request.Form("name eines feldes") immer eine leere Zeichenkette "".
dim Zustand
Zustand=Request.Form("Zustand")
select case Zustand
case "" Zustand="ErstAufruf"
case "ErstAufruf" Zustand="DatenEingegeben"
case "DatenEingegeben" Zustand="DatenKorrigiert"
case "DatenKorrigiert" Zustand="DatenAkzeptiert"
end select
if Zustand="ErstAufruf" then
'Formular-Felder auf Anfangswerte setzen – z.B. alle leer
end if
if Zustand="DatenEingegeben" then
'Hier Daten des Formulars auf Fehler prüfen
'Falls Fehler gefunden, Zustand wieder auf "ErstAufruf" zurücksetzen
end if
if Zustand="DatenKorrigiert" then
'Daten noch einmal anzeigen und fragen, ob sie so gespeichert werden sollen
end if
if Zustand="DatenAkzeptiert" then
'Daten speichern und an Benutzer eine Bestätigung schicken
end if
'Jetzt folgen die HTML-Befehle, die je nach dem Wert von Zustand anders aussehen können
<HTML>
....
....
'eins der Eingabefelder sieht so aus:
<INPUT TYPE="HIDDEN" NAME="Zustand" VALUE="<%=Zustand%>">
....
</HTML>
|