Programmbeschreibung
zum Zugabgabeformular
Dieses Dokument soll beschreiben, was das Zugabgabeformular alles tut.
Wer wissen will, wie es das tut, darf gerne den (kommentierten) Quelltext des Formulars lesen.
Einstieg in das Formular
Schon auf der vorherigen Seite versuche ich, herauszufinden, ob der Anwender das Formular wird benutzen können:
- Ich erzeuge mit JavaScript in roter Schrift Texte, die anzeigen, ob
- JavaScript überhaupt interpretiert wird und
- ob der Herstellername des Browsers gleich Netscape bzw Microsoft Internet Explorer ist.
- Der Verweis in das Formular-Dokument hinein erfolgt nicht durch einen normalen HTML-Verweis, sondern durch einen gleichwertigen JavaScript-Aufruf - und auch der wird nur generiert, wenn JavaScript eingeschaltet ist. (Wenn der Browser kein JavaScript versteht, dann lasse ich ihn lieber gar nicht erst auf die Formular-Seite, auch nicht über Bookmarks.)
Das Formular selbst
JavaScript-Funktionen
- Test, ob für Managername bzw. Vereinsnamen bereits nicht-leere Werte eingegeben wurden
- Test, ob ein Formularfeld eine nichtnegative ganze Zahl enthält
- Test, ob ein Wert einer Hintermannschaftsreihe im Intervall [0..20] liegt
- Test, ob eine Feldreihe mehr als dreimal so groß ist wie eine andere
- Test, ob die WP-Summe exakt dem Vorgabewert entspricht
- Initialisieren eines Formularfeldes mit dem entsprechenden Cookie-Wert (Wert und Defaultwert - die Taste "Eingaben zurücksetzen" macht nur die Eingabe im aktuellen Dialogschritt rückgängig!)
- Lesen des gesamten Cookies
- Abspeichern aller Formularwerte in ein Gesamt-Cookie (um den Anwender nicht mit Cookie-Meldungen zu überschütten, habe ich darauf verzichtet, jeden der 13 Werte in ein eigenes Cookie abzuspeichern)
- Parsen eines Einzelwertes aus dem Gesamt-Cookie
- Namentliche Begrüßung des Managers (abhängig von der Tageszeit)
- Zusammenbauen einer für einen Menschen besser lesbaren Gesamtaufstellung (Format: vereinsname: T-A-V-M-S) in je einem versteckten Formularfeld pro Verein, welches am Anfang der erzeugten Mail an den Spielleiter eingefügt wird
Formularelemente und HTML-Text
- Die zur Verfügung stehende WP-Anzahl wird mit JavaScript als HTML-Zeile ausgegeben (dadurch muß ich sie nach jeder Auswertung nur an einer Stelle ändern, nicht sowohl im Text als auch in der JavaScript-Testfunktion)
- Das Formular aktiviert bei Betätigung des Submit-Knopfes die allgemeine Testfunktion, welche das Abschicken entweder erlaubt oder unterdrückt.
- Abweichend vom normalen HTML-Formularstandard führt das Betreten eines jeden Formularfeldes dazu, daß der Inhalt dieses Feldes selektiert ist, also bei einer anschließenden Eingabe überschrieben wird. (Dadurch kann man einen Zug viel flüssiger eintippen, als wenn man jedesmal vorher den Inhalt des Feldes explizit markieren oder gar löschen müßte.)
Das funktioniert allerdings offenbar nur bei Netscape-Browsern, nicht bei Micro$oft-Browsern.
- Nach der Ausgabe des Formulars werden die einzelnen Felder mit den entsprechenden Cookie-Werten gefüllt, falls vorhanden; dabei wird ggf. auch die Begrüßungsmeldung ausgegeben.