ich habe keine Lösung zu deiner speziellen Frage, aber wenn du eine Art Menü mit aufklappenden Hyperlinklisten machen willst, schau dir doch mal diesen Lösungsansatz an, der ohne Formularelemente auskommt: http://de.selfhtml.org/css/layouts/anzeige/nav_moder…
Es gibt auch fertige Frameworks aus HTML/CSS-Dateien, die eine derartige Technik in größerem Stil umsetzen. Wenn es dich interessiert, such mal im Web zum Beispiel nach „YAML Framework“ (nicht YAML, die „Markup Language“!).
Möglichkeit 1: Per Formular. So wie Rosslauer es gesagt hat. Ein ist ja immer Teil eines Formulars. Und Formulare funktionieren so, dass man etwas auswählt und dann auf den Submit-Button drückt. Dann wird eine andere Seite, meistens ein serverseitiges Script, aufgerufen, das dann in Deinem Fall die Weiterleitung macht:
Vorteil: Ist barrierefrei, funktioniert in wirklich jedem Browser.
Nachteil: Der Nutzer wählt erst etwas aus und muss dann noch einen Klick machen, um das Formular abzuschicken.
Möglichkeit 2: Per JavaScript. Informiere Dich über EventHandler, in diesem Falle wohl „onChange“. Das heißt, da kannst Du eine JS-Funktion angeben, die aufgerufen wird, wenn Du eine Änderung an dem Feld vornimmt. Der Handler kommt ins -Tag. Neue Seite lädst Du dann über window.location.href.
Vorteil: Die Weiterleitung zieht sofort bei Auswahl.
Nachteil: Nicht barrierefrei, weil JS abschaltbar ist. In diesem Fall MUSST Du Möglichkeit 1 TROTZDEM umsetzen, weil es sonst Leute gibt, die das nicht nutzen könnten.
So, wie Du das gemacht hast, mit Links in der , geht das nicht. Innerhalb von kommen keine Tags mehr.
Möglichkeit 2: Per JavaScript. Informiere Dich über
EventHandler, in diesem Falle wohl „onChange“. Das heißt, da
kannst Du eine JS-Funktion angeben, die aufgerufen wird, wenn
Du eine Änderung an dem Feld vornimmt. Der Handler kommt ins
-Tag. Neue Seite lädst Du dann über
window.location.href.
Vorteil: Die Weiterleitung zieht sofort bei Auswahl.
Was kein Vorteil ist, weil ich gleich beim ersten Durchschalten durch die Liste mit der Tastatur einen onChange produziere, also dierekt verlinkt werde, ohne dass ich eine Chance habe, die anderen Einträge zu wählen.
Ich wusste es jetzt auch nicht, habs aber mal ausprobiert und es ist nicht so.
Wenn Du die Option mittels Cursortasten durchblätterst, wird noch kein Change gefeuert, erst wenn Du (nach Änderung) Return drückst oder das Feld durch Tab verlässt. Also auch mit Tastaturnavigation funktionstüchtig.