# <select> und valides XHTML



## Martys (16. Juni 2004)

Hallo,

habe ein Problem mit einer Auswahlliste und validem XHTML-Code.
Im Validator  wird mir folgender Fehler gemeldet:

```
Line 20, column 30: there is no attribute "onChange"
<select name="menu" onChange="mm_jumpmenu('parent',this,0)">
```

Habe das Script in einer externen Datei reingelinkt.
Leider konnte ich nichts näheres zu Auswahllisten und validem XHTML finden, zumindest nichts, was auch dieses Script beinhaltet.

Kennt jemand dieses Problem?

Danke schon mal,

Martys


----------



## Tim C. (16. Juni 2004)

Ganz einfach. In XHTML besitzt <select> keinen Eventhandler onChange. Das wars schon. Sprich, für valides XHTML kannst du keine Eventhandler nutzen.


----------



## Martys (16. Juni 2004)

Danke für die schnelle Antwort. Jetzt hat es sich leider wirklich bestätigt, ich glaube XHTML erlaubt überhaupt keine Eventhandler.

Hatte im <td>  einmal einen onFocus bzw. onMouseOver, welche ebenfalls dirket als Fehler im Validator angezeigt wurden.

Also kann ich mir jetzt merken, dass XHTML *KEINE*  Eventhandler für *IRGENDEIN*  Tag unterstützt?

Wie bekomme ich denn trotzdem eine Auswahlliste als Menü unter XHTML hin?


----------



## Tim C. (16. Juni 2004)

> _Original geschrieben von Martys _
> *Also kann ich mir jetzt merken, dass XHTML KEINE  Eventhandler für IRGENDEIN  Tag unterstützt?*


Ja



> *Wie bekomme ich denn trotzdem eine Auswahlliste als Menü unter XHTML hin? *


Soweit ich weiss, gar nicht. Aber es hält dich doch niemand davon ab HTML 4.01 zu nutzen.


----------



## xxenon (16. Juni 2004)

Heavy...

Das wusste ich ja gar nicht.

Gibts dafür denn einen bestimmten Grund? Evanthandler sind doch Klasse, ohne die kann man mit JavaScript kaum was Sinnvolles anfangen, finde ich. Warum also werden die nicht unterstützt, ist doch doof?!

Würd mich einfach intressieren.

Regards...


----------



## Fabian H (16. Juni 2004)

Eventhandler gibts auch in XHTML, sie muessen nur klein geschrieben werden:

```
onChange    => onchange
onMouseOver => onmouseover
onKeyPresss => onkeypress

usw.
```
(Ist btw. abwärtskompatibel, spricht: Du kannst auch in HTML 4 kleingeschriebene Event-
Handler benutzen.)


----------



## xxenon (16. Juni 2004)

Achsooo lol!

Na ich schreib die sowieso immer klein.

Mann du hast mir vielleicht nen Schrecken eingejagt mit der Aussage



> Original geschrieben von Martys
> Also kann ich mir jetzt merken, dass XHTML KEINE Eventhandler für IRGENDEIN Tag unterstützt?
> 
> 
> Ja



Trotzdem informativ  ^^
War das eigentlich bei HTML 4.x Norm, dass man die Eventhandler mit einzelnen Großbuchstaben schreibt? Weil HTML ist ja nicht case-sensitive, also kannst die Attribute ja eigentlich schreiben wie du willst =)

Regards...


----------



## Martys (16. Juni 2004)

Vielen Dank für die hilfreichen Tipps, habe nun den Eventhandler klein geschrieben und im Script einen Unterstrich entfernt, da dieser auch einen Fehler  verursachte.

So fnktioniert es:

```
onchange="jumpmenu('parent',this,0)"
```


----------



## kbs170 (23. August 2005)

Fabian Hofmann hat gesagt.:
			
		

> Eventhandler gibts auch in XHTML, sie muessen nur klein geschrieben werden:
> 
> ```
> onMouseOver => onmouseover
> ```



guter tipp, danke! Aber: xhtml 1.1 akzeptiert kein name-Attribut im a-tag (braucht man doch, um mouseover sinnvoll zu nutzen, oder?). Stattdessen könnte man das id-Attribut nehmen, was aber dem IE nicht gefällt   Was nun? Hat jemand eine Idee?

Tim


----------



## Gumbo (23. August 2005)

> Eventhandler gibts auch in XHTML, sie muessen nur klein geschrieben werden […]


Punkt zwei der Unterschiede zwischen HTML und XHTML.



> Aber: xhtml 1.1 akzeptiert kein name-Attribut im a-tag […]


Das name-Attribut ist in XHTML nur noch Formularelementen vorbehalten. Siehe auch Punkt zehn der Unterschiede zwischen HTML und XHTML.


----------

