• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Select Problem

mustang

Mitglied
Hallo Leute,
hab ein Problem mit einer Select-option struktur. Im Normalfall weiß ich auch, wie die dinger funktionieren, aber irgendwie... will es natürlich mal wieder nicht.

Hier mal der Code:

HTML:
<tr><td colspan='2'>
<a href='?seitenname=testseite'>testseite</a></td>
<td>
<select class='auswahl' name='seitekat["testseite"]' onChange='form.submit()'>
<option value='Home'>Home</option>
<option value='News'>News</option>
<option value='Studium'>Studium</option>
<option value='Name1'>Name1</option>
<option value='Login'>Login</option>
<option value='Impressum' selected='selected'>Impressum</option>
</select>


<select class='auswahl' name='seiteunterkat[]' onChange='form.submit()'>
<option value=''>Leer</option>
</select>

<a href='?seitenname=adminpanel&add=menuedit&action=delsite&var=testseite' 
        onclick='return confirm("Wirklich löschen?")'>löschen</a></td></tr>

Mein Problem liegt vorallem bei meiner ersten select-anweisung. dort gibt es den punkt Impressum und der ist normalerweise mit selected='selected' vorausgewählt, aber es wird nicht als ausgewählt angezeigt. es wird jeweils nur der erste eintrag ausgewählt... warum auch immer.
das ganze wird per php erstellt, deswegen kann es gut sein, dass ich den wald vor lauter bäumen nicht mehr sehe... über hilfe wäre ich sehr dankbar.
 
Lad die Seite mal ohne Cache. Gerade wenn man vorher eine andere Ansicht einer select-Box hatte spinnen manche Browser was die Aktualisierung der Selektierung angeht.
 
bringt nichts... verstehe ich nicht... läuft bei mir auch über xxamp, da hab ich mit sochen sachen eigtl keine probleme
 
hmm so sehe ich in Deinem Code eigentlich auch keinen Fehler. Der Auschnitt sollte so funktionieren. Teste nur diesen Auschnitt doch einmal selbst in Deinem Browser (btw. welchen nutzt Du denn?). Bei mir funktioniert der Auschnitt in allen gaengigen Browsern.

Kann es sein, dass Dein Ziel durch weiteren Code auf Deiner seite kompromitiert wird (e.g. Javascript)?

Eine Kleinigkeit: In diesem Fall koenntest Du das value Attribut auch weglassen, da Du dieses Attribut immer dem Text des option Elements entspricht (siehe hier).

Bedenke ausserdem, dass, falls Du einen XHTML Doctype nutzt, Attribute konsequent kleingeschrieben werden muessen: XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)
Du muesstest also onchange schreiben.
 
hm ich bastle das ganze jetzt noch mal^^ hat mir auch von der aufteilung nicht gefallen (der code hier ist nur ein kleiner ausschnitt aus nem riesen formular).
hoffe dass das dann funktioniert. von javascript oder ähnlichem wurde das ganze nicht beeinflusst. habe nur die onchange sachen drin, sonst nichts.
und ich nutze html als doctype. die sache mit dem value ist ein guter tipp^^ danke
 
gut das mit dem doctype "html" war sinnlos, aber ganz auf den kopf gefallen bin ich nicht.. ein paar simple auswahllisten bekomme ich im normalfall hin. Deswegen habe ich mich so gewundert, dass es nicht funktionert. Wie teeny schon gesagt hat: eigentlich ist am code nichts falsch. keine ahnung, warum das nicht geklappt hat.
hast du dir meinen post am anfang eigtl durchgelesen? :P bzw. was mache ich anders, als bei selfhtml?
 
Du gibst dem Attribut selected einen Wert, selfhtml nicht.

Aber zumindest im firefox macht das keinen Unterschied, dein Code oben funktioniert einwandfrei.
 
Selfhtml ist nicht die Spezifikation; es ist nicht sonderlich ausagekraefitg, wie auf dieser Seite irgendetwas gemacht oder nicht gemacht wird.

Die Spezifikation sagt eindeutig, dass boolische Attribute entweder keinen Wert (e.g. checked) haben sollen oder der Wert dem Namen des Attributes entsprechen (e.g. checked="checked") soll.

Siehe dazu: On SGML and HTML bzw. HTML5
 
Ich hatte dir das lediglich angeboten und gefragt ob du das ausprobiert hast, ich wollte jetzt keine Diskussion beginnen über irgendwelche Spezifikationen, zumal du uns nicht gesagt hast, was du wirklich verwendest.

Die Spezifikation sagt eindeutig, dass boolische Attribute entweder keinen Wert (e.g. checked) haben sollen oder der Wert dem Namen des Attributes entsprechen (e.g. checked="checked") soll.

Siehe dazu: On SGML and HTML bzw. HTML5
Die Spezifikation ist keineswegs eindeutig. Im Gegenteil, ich zitiere aus dem 1. von dir verlinkten Dokument:
In HTML, boolean attributes may appear in minimized form -- the attribute's value appears alone in the element's start tag. Thus, selected may be set by writing:

<OPTION selected>

instead of:

<OPTION selected="selected">

Authors should be aware that many user agents only recognize the minimized form of boolean attributes and not the full form.

EDIT: und auch in der HTML5 Spezifikation steht:
A number of attributes are boolean attributes. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.
und darunter ein Beispiel wie es in selfhtml steht.

EDIT 2: bei nochmaligen Lesen deines Post ist mir aufgefallen, dass du ja genau das sagst. Nur paßt das nicht zum ersten Satz, denn in selfhtml steht es ja so. Insofern verstehe ich jetzt deine Antwort nicht mehr.
 
@ struppi: Ich hatte mir die Selfhtml Seite gar nicht mehr angeschaut. Hatte Deinen Post so verstanden, dass dort nur die minimierte Form beschrieben wird. Sorry, war da wohl etwas zu voreilig am Posten.
 
Zurück
Oben