hi,
[..]Du solltest lieber so herum herangehen: erst mal alles "solide" serverseitig implementieren. Dann kann man sich überlegen, wo man mit JavaScript/AJAX sinnvolle "Abkürzungen" einbauen kann.
Genau das habe ich mittlerweile gelernt ;-)
Ja, es ist tatsächlich so, dass mit solcher Herangehensweise der Aufwand auf ein Minimum sinkt gegenüber dem Verfahren "erst Ajax, dann CGI-Überlegungen".
Der erste Schritt ist nun der, dass ich mir überlege, welche Bereiche nach einer Benutzereingabe verändert werden und welche nicht. Also die Seite aufteilen, beispielsweise in
htmlHeader
Formular mit Eingabefeldern (veränderlicher Teil, Defaultwerte)
htmlFooter
Die Funktion, die das Formular erzeugt, kriegt die Werte, die da rein sollen als Argumente übergeben (auch die Defaultvalues). Damit wird schonmal dieser Kode nur einmal in die Tastatur gekippt.
Nun brauchts noch eine Funktion, die den Request auswertet und die Ergebnis in genau derselben Reihenfolge liefert, wie die in das Formular eingebaut werden.
Mit dem Festlegen der Schlüsselparameter und dem Schreiben einer Kontrollstruktur ist das CGI fertig. Die Response sieht genauso aus wie die Seite ohne UserInput:
htmlHeader
Formular mit Ergebnis in Eingabefeldern u.a. Textstellen
htmlFooter
Ajax draufsetzen:
JS in Formular so einbauen, dass die ResponseFunktion die Werte, die in derselben Reihenfolge wie die Argumente kommen, an der entsprechenden Stelle einbaut, z.B. Formularfelder füllen oder Listen aufbauen. Schlüsselparameter festlegen, RequestFunkton schreiben.
Kontrollstruktur um die hinzugekommenen Schlüsselparameter erweitern, fertig. Eine Ajax-Response liefert nur die Werte, selbe Funktion wie oben.
Viele Grüße,
Horst Quasselstrippe