Links in Select-Felder

cym

cym

Aktives Mitglied
Thread Starter
Dabei seit
03.05.2004
Beiträge
1.363
Reaktionspunkte
9
Guten Abend

Ich möchte ein Select-Feld mit Links darin einbauen. Leider fand ich nur eine Lösung mit JavaScript. Aber das geht doch sicher auch mit PHP? Damit ich eine möglichst barierenfreie Webseite habe.

Gruss,
cym :)
 
Nein, <select> und <option>-Tag sehen das nicht vor. Wenn du Links zu einer Auswahloption mit anbieten willst, solltest du dir überlegen, ob Radio-Buttons oder Checkboxen (je nach Art des select-Feldes) nicht sinnvoller sind.

php ist BTW eine serverseitige Scriptsprache und kann im Gegensatz zum clientseitigen Javascript nur auf Aktionen des Users reagieren, wenn die Seite wieder an den Server geschickt wird. Du vergleichst hier also Äpfel mit Birnen.

Matt
 
msslovi0 schrieb:
Nein, <select> und <option>-Tag sehen das nicht vor. Wenn du Links zu einer Auswahloption mit anbieten willst, solltest du dir überlegen, ob Radio-Buttons oder Checkboxen (je nach Art des select-Feldes) nicht sinnvoller sind.

php ist BTW eine serverseitige Scriptsprache und kann im Gegensatz zum clientseitigen Javascript nur auf Aktionen des Users reagieren, wenn die Seite wieder an den Server geschickt wird. Du vergleichst hier also Äpfel mit Birnen.

Matt
Danke für deine Antwort! Ok, dann nehme ich an, dass dies nur so funktioniert:
HTML:
<select>
  <option value="-">zur Seite springen</option>
  <option value="start.htm">Startseite</option>
  <option value="news.htm">News</option>
  <option value="angebot.htm">Angebote</option>
  <option value="referenz.htm">Referenzen</option>
  <option value="kontakt.htm">Kontakt</option>
</select>
Im Head dann:
HTML:
<select onChange="
if(this.selectedIndex != 0)
{location.href = this.options[this.selectedIndex].value}
 ">
 
Sollte das die einzige Navigationsmöglichkeit auf der Seite sein, dann packe bitte noch einen Submit-Button dazu.

<noscript><input type="submit" /></noscript>
 
Nein, nicht in den head. Der onchange-Event (für XHTML-Konformität bitte alles klein schreiben!) muss in dem select stehen, bei dem bei Auswahl die entsprechende Aktion ausgeführt werden soll.

Matt
 
msslovi0 schrieb:
Nein, nicht in den head. Der onchange-Event (für XHTML-Konformität bitte alles klein schreiben!) muss in dem select stehen, bei dem bei Auswahl die entsprechende Aktion ausgeführt werden soll.

Matt
Ach so. Danke! :)
 
Ich würde's nicht nur über JavaScript laufen lassen. Geb dem Select-Ding nen Namen, bette es in ein <form> ein und tu nen submit-Button drunter. Das Formular schickst Du an die Datei selbst (oder eine speziell dafür hergerichtete Zwischendatei), die dann mittels header-Weiterleitung zur jeweiligen Seite weiterleitet.

Ist nicht die beste, aber afaik die einzigste Methode, es auch für nicht JSler benutzbar zu machen.

Übrigens, wenn Du schon eine Barrierefreiheit ansprichst, ist so ne Select-Liste womöglich der falsche Ansatz. Geht es nicht mit einer CSS-gestylten <ul>? Das mit den Select-Teilen wird bald anstrengend, ständig das Ding wieder aufzuklappen und nen neuen Eintrag auszuwählen.
 
Zurück
Oben Unten