Sven Rautenberg: Variable aus selected-Formular-Feld nach php uebergeben

Beitrag lesen

Moin!

Problem ist: wenn ich das 1. Feld verlasse (mit <select name="bundesland" size="1" onchange="javascript: window.location.href='meinskript.php3?bundesland=<? echo $bundesland ?>'"> krieg ich einen leeren String vom Bundesland und einfach das gewaehlte Bundesland nicht raus.

Du hast ein Verständnisproblem, wann welche Programmiersprache aktiv ist.

PHP ist aktiv, wenn die Seite zusammengestellt wird. Dann wird sie zum Browser übertragen, und enthält KEINERLEI PHP-Code mehr, sondern nur noch HTML und Javascript. Im Browser selbst ist dann Javascript aktiv.

Dein Problem läßt sich lösen - allerdings anders, als du es gerade versuchst.

Möglichkeit 1 (die am nächsten an deinem Versuch dran ist):
Du hast das Selectfeld 1, wählst dort ein Bundesland aus und SCHICKST DAS FORMULAR AB. Dann kannst du mit PHP in der Datenbank die passenden Einträge für Selectfeld 2 raussuchen und es erstellen. Hat natürlich den Nachteil, daß du dann ein zweistufiges Formular hast, welches zwischendrin erstmal abgeschickt werden muß. Es wäre unsinnig, dem User bei beiden Stufen die volle Eintragsmöglichkeit in alle anderen Felder zu bieten, sondern das wäre dann eher die Strategie eines Assistenten, der nacheinander mit Erklärungen jeweils Daten abfragt - ähnlich wie ein Windows-Installationsvorgang z.B.

Möglichkeit 2 (die die Funktionalität bietet, die du wolltest):
Du fragst schon gleich beim Seitenerstellen die Datenbank nach allen Einträgen des Selectfeldes 2 für alle Bundesländer ab und generierst damit beispielsweise ein Javascript, welches onselect das zweite Selectfeld mit Daten des passenden Bundeslandes füllt. Alternativ könntest du natürlich auch Layer mit verschiedenen Selectfeldern 2 einbauen und nur jeweils das passende Feld anzeigen lassen, nachdem ein Bundesland ausgewählt wurde. Jedenfalls sollte dir klar sein, daß du keinerlei Kommunikation mit dem Server realisieren kannst, nachdem ein Bundesland ausgewählt wurde.

Ich hoffe, du kannst meinen Erklärungen folgen. :)

- Sven Rautenberg