Error: Attribute name not allowed on element details at this point.
bearbeitet vonHallo Bimmelbeule,
name ist kein globales Attribut, d.h. man kann es - der Spezifikation entsprechend - nur auf den Elementen verwenden, für die es vorgesehen ist.
Und details gehört nicht dazu.
Ein name-Attribut ist für Formulare und Eingabeelemente im Formular vorgesehen. Ein details-Element ist kein Eingabeelement.
Die Spezifikation besagt: `name` kann verwendet werden für:
- button
- fieldset
- input
- output
- select
- textarea
und
- "form-associated custom elements"
Letzteres sind selbstgemachte Elemente, die sich wie ein Form-Element verhalten können, d.h. einen Wert haben, der beim Submit an den Server übertragen wird. Dafür braucht's einen kräftigen Schlag JavaScript.
Das name-Attribut wird verwendet, um
- den Wert des Formularelements unter diesem Namen an den Server zu übermitteln. Ohne name keine Übermittlung. Mit name kann übermittelt werden, muss aber nicht (Checkbox/Radiobutton ohne Checkmark wird nicht übermittelt, und bei Buttons wird nur der übermittelt, der zum Submit führte).
- das Formularelement in der elements-Auflistung des form-Elements einzutragen. Hierfür kann auch die id herangezogen werden, wenn kein name existiert.
- das Form (auch ein form kann ein name-Attribut haben) in die forms-Auflistung des Dokuments einzutragen. Auch hier kann die id herangezogen werden.
Wenn id UND name da sind, müsste ich nachschauen, welcher der beiden Werte verwendet wird, um das Element bzw. das Form in die Auflistung einzutragen.
Ein name-Attribut auf allen anderen Elementen kannst Du mit getAttribute auslesen und im CSS auch mit [name=foo] selektieren, aber damit bist Du out-of-spec.
_Rolf_
--
sumpsi - posui - obstruxi