malte: Formular: Erkennen, ob alles ausgefüllt ist?

Hallo,

ich habe ein Formular mit mehreren Radiobuttons. Ich möchte, dass er mit dem Formular erst weitermacht und die bearbeitung fortsetzt, wenn bei jedem Punkt eine Auswahl getroffen wurde. Ansonsten soll eine Meldung ausgegeben werden.

Nun könnte ich natürlich eine aufwendige if-Abfrage machen... jeden Punkt abfragen, ob er vorhanden ist und ansonsten einen Text einblenden lassen. Aber das ist vergrössert die php-Datei um einiges, es erhöht die Ladezeit am Client, weil das Ganze erst durch den PHP-Parser muss, usw.

Gibt es eine elegantere Möglichkeit mit PHP? Oder mit Javascript?

Grüsse
malte

  1. Moin!

    Nun könnte ich natürlich eine aufwendige if-Abfrage machen... jeden Punkt abfragen, ob er vorhanden ist und ansonsten einen Text einblenden lassen. Aber das ist vergrössert die php-Datei um einiges, es erhöht die Ladezeit am Client, weil das Ganze erst durch den PHP-Parser muss, usw.

    Nö, die Ladezeit am Client wird nicht nennenswert vergrößert - PHP ist recht flott.

    Und wie du deine Abfragen gestaltest, ist im Prinzip vollkommen dir überlassen. Eventuell kannst du gewisse Identitäten ausnutzen und dadurch Code einsparen - aber grundsätzlich kommst du nicht drumherum, zu prüfen, ob in jeder Radiobutton-Gruppe eine Auswahl erfolgte.

    Gibt es eine elegantere Möglichkeit mit PHP? Oder mit Javascript?

    Definiere "elegant". Javascript hilft dir grundsätzlich nicht weiter, weil es ausgeschaltet sein kann - du mußt also zwingend die Daten serverseitig prüfen. Und das dauert so lange, wie es dauert. Mit Javascript kannst du höchstens die Benutzerfreundlichkeit erhöhen, indem du vor dem Formularabschicken schon mal mit Javascript prüfst, ob das Formular korrekt ausgefüllt ist, und andernfalls setzt du z.B. den focus() auf das noch auszufüllende Element. Das kannst du mit PHP alles nicht erreichen.

    - Sven Rautenberg

  2. Aber wie kann ich den Fensternamen deffinieren?