Thread Formular Reset bzw. Site-Wechsel, ohne Button
(16 answers)
Opened by Olli at 2011-05-27 18:39
hi,
das Vermeiden von Mehrfachklicks mache ich so: Jedes Formular bekommt eine eindeutige ID, sofern es ohnehin eine Session gibt, wird diese ID genommen. Die ID schreibe ich in eine Lock-Datei mit Zeitstempel. Bei einem Submit wird einmal der Zeitstempel geprüft (für anderweitige Verwendung) und die ID aus der Lock-Datei gelöscht. Erst, wenn ein neues Formular erzeugt wurde, gibt es eine neue ID in der Lock-Datei womit ein Submit wieder möglich wird. Zur eigentlichen Aufgabenstellung: Bei mir gibt es für ein CGI immer zwei Funktionen, foo() erstellt das Formular und bar() verarbeitet die Eingaben entsprechend der Parameter. Über diesen beiden Funktionen steht im namespace main() ein gemeinsames Objekt, nennen wir es $main. Wenn bar() die Eingaben abgearbeitet hat, wird über $main->foo; gerufen, wobei alle möglichen Statusmeldungen im $main-Objekt enthalten sind. Liegen fehlerhafte Eingaben oder serverseitige Fehler an, wird das über foo() entsprechend ausgegeben. Sind die Fehler so schwerwiegend, dass eine Weiterverarbeitung nicht mehr sinnfoll ist, wird der BODY komplett ausgetauscht, damit wird nicht das Formular erzeugt, sondern eine Liste mit den Fehlermeldungen. |