Toon posts:

[HTML & JAVASCRIPT] Problemen met ONCLICK

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal !

Ik ben bezig aan een eigen blog ( http://www.tribalphp.be ) en sukkel met het volgende probleem:
Ik heb een soort archief en je kan door dit archief bladeren door drop-down-boxes.

code:
1
<OPTION SELECTED ONCLICK=\"Javascript:setTimeout(location='index.php?act=archive&month=" . $i . "&year=" . $_GET['year'] . "', '5000');\">" . $months[$i] . "</OPTION>


Wel,
in Firefox linkt hij perfect door naar de pagina (index.php?act=....), maar in IE doet hij helemaal niets :(

Iemand enig idee hoe dit komt, en hoe ik het eventueel gemakkelijk kan oplossen?

Josdebos

[ Voor 13% gewijzigd door Verwijderd op 14-05-2006 10:09 ]


  • funkwurm
  • Registratie: December 2005
  • Laatst online: 22-02-2021
Volgens mij mogen options helemaal geen onclick hebben, maar ik kan er naast zitten... De manier om dit wel te doen is als volgt:
PHP:
1
2
echo('<select onchange="setTimeout(\'location.href=\\\'index.php?act=archive&month=\\\'+this.value+\\\'&year=' . $_GET['year'] . '\', 5000);">');
echo('<option value="' . $i . '">' . $months[$i] . '</option>');

Verwijderd

Topicstarter
Aha !

Het werkt ;) Heel fel bedankt :)

Het werkte in Firefox en Opera, maar niet in IE... dus ik dacht dat het misschien wel mocht ;)
Toch bedankt

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 22:12

crisp

Devver

Pixelated

Het select element in IE < 7 is een windowed control in plaats van een native control en mist daardoor nogal wat mogelijkheden die native controls wel hebben.

Maar het is sowieso netter om voor dit soort dingen de onchange handler op het select element te gebruiken ;)

[ Voor 27% gewijzigd door crisp op 30-04-2006 12:06 ]

Intentionally left blank


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Of beter nog: het onblur event. Dan krijg je niet 2387 event fires als je met het toetsenbord door de select scrollt ;)

日本!🎌


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

_Thanatos_ schreef op zondag 30 april 2006 @ 15:00:
Of beter nog: het onblur event. Dan krijg je niet 2387 event fires als je met het toetsenbord door de select scrollt ;)
Dat is weer de brakke implementatie van IE. Waarom moet het met het toetsenbord nou weer anders dan met de muis :?

In Firefox kun je rustig met de muis en toetsenbord scrollen, en pas bij het maken van een keuze (klik, enter, tab) fired het onchange event.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Noem het wat je wilt... ik noem het standaard windows-gedrag. Maargoed, het feit dat het in IE zo zit, betekent niet dat je het maar moet negeren omdat je het onhandig vindt ;)

Anyway, dit raakt wel offtopic zo...

日本!🎌


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

Het standaard windows gedrag lijkt mij dat de onchange pas gefired mag worden zodra ik een keus gemaakt hebt, en niet wanneer ik nog aan het scrollen ben. Voor de muis doet IE het wel goed maar voor het toetsenbord net anders, dat vind ik raar en niet consequent :)

  • funkwurm
  • Registratie: December 2005
  • Laatst online: 22-02-2021
Voor de muis doet IE het ook fout, scroll maar eens naar een andere waarde met je wieltje. Onchange wordt dan gefired, onbeschrijvelijk irritant als je naar beneden wou scrollen en de focus stond nog op de select.

Als een option al gekozen zou worden door er overheen te hoveren zou het helemaal onwerkbaar zijn, dus dat IE dat niet doet snap ik wel.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Het is eigenlijk heel simpel: zodra er in de de <select> een andere waarde komt te staan, fired het onchange event. Of hij nou opgeklapt is of niet, of je dat nou doet met een muisklik, een toetsaanslag, een scrollwieltje, een vinger of voor mijn part een stylus. Dat maakt niets uit. Onchange betekent "wanneer de waarde verandert" en niet "wanneer de gebruiker klaar is met een keuze maken". Daar is onblur voor.

[ Voor 12% gewijzigd door _Thanatos_ op 02-05-2006 20:56 ]

日本!🎌

Pagina: 1