ugrás a tartalomhoz

Select onchange attribútumanak kiváltása

torso · 2006. Jún. 7. (Sze), 23.05
Sziasztok!

Egy régebbi oldalt szeretnék a szabvanyoknak megfeleltetni.
A <select onchange="menu.submit();"> eseményt akartam a következővel kiváltani:
<select> 
<option onclick="window.open('valami1.html','_self');return(false);">valami1</option>
<option onclick="window.open('valami2.html','_self');return(false);" selected="selected">valami2</option>
</select>
Firefox alatt működik, de az IE 6 nem tudja.

Következő próbálkozás:
<select>
<option a href="valami1.html" onclick="window.open('valami1.html','_self');return(false);">valami1</a></option>
<option a href="valami2.html" onclick="window.open('valami2.html','_self');return(false);" selected="selected">valami2</a></option>
</select>
Ebben az esetben is ugyanaz a helyzet FF - igen, IE - nem.
Tudtok ezekhez hasonló megoldást, ami IE alatt is működik?

Előre is köszönöm a segítséget!

Bocs, ha már volt téma, de nem leltem rá.

Üdv: Gyuri
 
1

miert is ?

city99 · 2006. Jún. 8. (Cs), 10.49
az nem derult ki miert is nem jo az onchange ?
2

így biztos ne

Táskai Zsolt · 2006. Jún. 8. (Cs), 12.25
tovább megyek, a fenti próbálkozások biztos rosszak. nem is részletezem, annyira! az onchange meg jó...
Tasi
3

onchange billentyűzetnél gáz (elérhetőseg)

Jano · 2006. Jún. 8. (Cs), 13.34
Próbáld meg billentyűzettel kiválasztani egy tetszőleges elemet egy hosszab listán! Az első le vagy fel billentyű nyomásnál vált a következő elemre és ekkor le is fut az onChange. onChange helyett külön OK/Mehet gombot szuktak használni!

Az onClick ugyanemiatt szintén rossz önmagában. Billentyűzetnél nem lesz olyan esemény, hogy onClick.
4

na jó

Táskai Zsolt · 2006. Jún. 8. (Cs), 14.55
igen, naná. de a topicnyitó megoldás még rosszabb. amúgy az onchange-et lehet jól, elérehetően használni, a fentit nem (az általad írt billentyűzetprobléma miatt). jó használat lehet szerintem, mikor csak valami kis dolog módosul az oldalon az onchange-re (pl. valamiféle context sensitive help funkció). ilyenkor nem zavaró, hogy a lista tizedik eleméhez váltás közben 9-szer lefut valami.
Tasi
5

Mivel nem valid

torso · 2006. Jún. 8. (Cs), 21.41
Az xhtml referencia szerint látható, hogy nem valid az onchange.
Azt gondoltam, hogy nem jó amit kipróbáltam, ezért kértem tanácsot.
Valószínű, az említett billentyűzetkezelés problémája miatt nem felel meg a validátornak.
Ennek megpróbálok utánanézni, ha sikerrel járok, megírom.
Addig is, ha van valakinek más megoldása a problémára, megköszönném, ha megírná.

Köszönöm

Üdv
G.
6

Miért nem jó?

Jano · 2006. Jún. 8. (Cs), 22.08
Én nem látok ilyet az azon az oldalon. De itt meg az van, hogy 1.1-nél van ilyen input, select, textarea elemeken csak arra kell figyelni xhtml-nél, hogy csupa kisbető legyen a kezelő onchange és nem onChange pl.

Ja és keresés közben találtam: IE-ben ctrl+le/fel esetén nem fut le az onchange csak hát ezt talán kevesen tudják: OnChange Event Accessibility Issues
8

onChange helyett onchange

torso · 2006. Jún. 9. (P), 02.05
Igaz igaz!!

Pedig ezt tudtam es elkerülte a figyelmemet.
Tehát a lényeg az, hogy lower case mindenhol!!
Ezek után egyből jött a
This Page Is Valid XHTML 1.0 Transitional!

eredmény.

Köszönöm mindenkinek a segítséget!!

Üdv
G.
7

Valid?

krey · 2006. Jún. 8. (Cs), 22.45
Ha nem valid az onchange attrib, akkor érdemes kipróbálni az event handlert is ajaxxal létrehozni (vagy ez csalás?).
Nem tudom, hogy erre mennyire van lehetőség, de:

selects = document.getElementsByTagName("select");
for (i = 0; i < selects.length; i++) {
   selects.item(i).setAttribute("onchange","some_js_function()");
}
krey
9

nemajax

Anonymous · 2006. Jún. 9. (P), 12.41
Hát ez nem nagyon ajax, inkább unobtrusive javascript...
sztem