onchange in een select

Pagina: 1
Acties:

  • Niles
  • Registratie: Januari 2003
  • Laatst online: 22-05 23:36
ik ben bezig met het maken van een class in php waarmee je formuliertjes kunt genereren. echter het probleem zit hem in de javascript. Ik heb in de class een functie om een selectbox te generen, ik wil het zo maken dat als je op één van de opties in de selectbox klikt dat je dan doorgelinkt wordt, ik weet dat dit gaat met onchange, maar ik ben een echte javascript n00b en naar mijn weten is een onchange 'van' javascript.

Ik heb het er met iemand anders over gehad die wel wat van javascript kan, maar volgens hem is het niet mogelijk voor -iedere- optie een andere url in te stellen, je kunt volgens hem alleen linken naar dat wat er in de form tag staat....

Nu is mijn vraag hoe verander ik dit? ik wil dus als in het rijtje dit voorkomt:

- menu
- home
- sport

dat je dan bv naar menu.php gaat als je op menu klikt, dat je naar home.php gaat als je op home klikt enz...

Ik hoop dat ik het in het goede forum heb gezet ;)

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22-08 14:59

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

sjees, dat je dat uberhaubt durft te vragen :)

JavaScript:
1
2
3
4
5
6
7
<form>
<select name="pageHop" onchange="document.location.replace( this.value );">
 <option value=""> Kies pagina...
 <option value="menu.php"> Menu
 <option value="home.php"> Home (...)
</select>
</form>

:)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

je kunt volgens hem alleen linken naar dat wat er in de form tag staat
"hem" moet zijn JavaScript nog maar eens gaan ophalen, lijkt me...

hetgeen je je hier moet bedenken is dat je in de onChange event een functie kunt aanroepen die op zich helemaal niks met het formulier heeft te maken... je kan een alert op het scherm toveren, je kan de hele lijst leegmaken... wat je maar wilt... en je kan *zelfs* ;) naar een andere pagina linken (zie Prammenhanger hierboven, lijkt me prima code)

Grtn,
Fck

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:16

crisp

Devver

Pixelated

Prammenhanger schreef op 14 May 2003 @ 18:10:
sjees, dat je dat uberhaubt durft te vragen :)

JavaScript:
1
2
3
4
5
6
7
<form>
<select name="pageHop" onchange="document.location.replace( this.value );">
 <option value=""> Kies pagina...
 <option value="menu.php"> Menu
 <option value="home.php"> Home (...)
</select>
</form>

:)
ten eerste is location een property van het window object, en ten tweede: waarom met replace()? :)
oh, en je option tags afsluiten is ook wel netjes...

[ Voor 18% gewijzigd door crisp op 14-05-2003 18:22 ]

Intentionally left blank


  • Niles
  • Registratie: Januari 2003
  • Laatst online: 22-05 23:36
ja klopt, maar daardoor word de value ook meteen de link, wat als ik dat niet wil? het moet gewoon zoiets worden:

<option value="1"> Menu </option>

of:

<option value="Menu"> Menu </option>

want als er dan gebruikers zijn die aan de hand van zo'n selectbox op de volgende page die value willen gebruiken voor een vergelijking ofzo dan is die value een link (bv menu.php) en dan is dat wel gaar?

is er geen andere oplossing?

iig alvast bedankt!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Je wordt geredirect, dus je hebt helemaal geen value in je volgende pagina.

Leg dan eens uit wat je precies wilt ;)

[ Voor 23% gewijzigd door Bosmonster op 14-05-2003 18:26 ]


  • Niles
  • Registratie: Januari 2003
  • Laatst online: 22-05 23:36
nou...ik kom er net idd achter dat dit overbodig is, de url als value werkt goed, want dan word je geredirect dus je hebt idd geen value nodig om in de pagina mee te gaan liggen vergelijken (in php) ofzo

Bedankt!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22-08 14:59

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

crisp schreef op 14 May 2003 @ 18:21:
[...]

ten eerste is location een property van het window object, en ten tweede: waarom met replace()? :)
oh, en je option tags afsluiten is ook wel netjes...
Jij weet ook niet wat je wilt :) Post ik hier een keer document.location='spef', begin je te zeuren over document.location.replace() :)

option-tags afsluiten hoeft niet in html4

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:16

crisp

Devver

Pixelated

Prammenhanger schreef op 14 mei 2003 @ 18:46:
[...]


Jij weet ook niet wat je wilt :) Post ik hier een keer document.location='spef', begin je te zeuren over document.location.replace() :)

option-tags afsluiten hoeft niet in html4
het is window.location.href='blaat.html' of window.location.replace('blaat.html').
location was (bedoelt als) een read-only property van het document object, en is al tijden deprecated en vervangen door document.URL
option tags afsluiten hoeft idd niet in html4, maar het is wel netjes om het wel te doen. Stel dat je het nog eens wilt omzetten naar xhtml :)

[ Voor 11% gewijzigd door crisp op 14-05-2003 18:57 ]

Intentionally left blank


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

@Prammenhanger:
this.value kan je denk ik ook beter vervangen door this.options[selectedIndex].value
:P

Today's subliminal thought is:


Verwijderd

Annie schreef op 15 May 2003 @ 13:38:
@Prammenhanger:
this.value kan je denk ik ook beter vervangen door this.options[this.selectedIndex].value
:P
;)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:16

crisp

Devver

Pixelated

Annie schreef op 15 May 2003 @ 13:38:
@Prammenhanger:
this.value kan je denk ik ook beter vervangen door this.options[selectedIndex].value
:P
voor prehistorische browsers ja ;)

Intentionally left blank


Verwijderd

crisp schreef op 15 mei 2003 @ 13:43:
[...]

voor prehistorische browsers ja ;)
voor niet luie en goed opgevoedde webdevelopers ja ;)
Pagina: 1