[javascript] met pulldown menu, 2 values veranderen..

Pagina: 1
Acties:

  • pim
  • Registratie: Juli 2001
  • Laatst online: 06-02 05:55
Wanneer ik in de <select> tag met javascript ervoor zorg dat 2 values veranderen lukt het prima:
<select onchange="document.nav.form_aannaam.value = 'naam';
document.nav.form_aanemail.value = 'email';">
<option>test1</option>
<option>test2</option>
</select>
Maar nu wil ik ervoor zorgen dat per geselecteerde optie, values veranderen, alleen dit werkt niet:
<select>
<option onchange="document.nav.form_aannaam.value = 'naam';
document.nav.form_aanemail.value = 'email';">test1</option>
<option onchange="document.nav.form_aannaam.value = 'naam';
document.nav.form_aanemail.value = 'email';">test2</option>
</select>
Weet iemand een manier, hoe ik per "<option>" 2 values kan veranderen?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:42

Pelle

🚴‍♂️

code:
1
<select onChange="doeIets(this.options[this.selectedIndex].value);">


Oftewel: schrijf even een functie die aan de hand van de value van de option code uitvoert :)

[ Voor 5% gewijzigd door Pelle op 30-06-2003 12:34 . Reden: klote no html tags ]


  • pim
  • Registratie: Juli 2001
  • Laatst online: 06-02 05:55
Het probleem is alleen dat een <option> maar 1 value kan hebben i.p.v. 2...

  • pim
  • Registratie: Juli 2001
  • Laatst online: 06-02 05:55
Whoohoo, dit heb ik ff erg inventiefrijk opgelost met de Split functie B)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script language="javascript">
 <!--
  function navForm(){
   with (document.nav) {
     if (page.value != "stay") {
     
        var first_split = page.value.split("|");
          var naam = (first_split[0]);
          var email = (first_split[1]);

       document.nav.form_aannaam.value = naam;
       document.nav.form_aanemail.value = email;
     } 
   }
 }
 
 //-->
</script>

<form method=post name="nav">
<select name="page" onchange="javascript:navForm();">
<option value="stay">Snelkeuze menu >>
<option value="stay">
<option value='pim|pim@home.nl'>pim - pim@home.nl
<option value='jan|jan@home.nl'>jan - jan@home.nl
<option value='kees|kees@home.nl'>kees - kees@home.nl
</select>
</form>

[ Voor 16% gewijzigd door pim op 30-06-2003 12:51 ]


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:42

Pelle

🚴‍♂️

Mooi :)

  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06-2025
Waarom gebruik je in je functie "document.nav.form_aannaam.value = naam" als je het al in het "with (document.nav) {} blok hebt staan??

Nog makkelijker is om in je functie aanroep het form als parameter mee te geven.
HTML:
1
<select name="page" onchange="javascript:navForm(this.form);">

JavaScript:
1
2
3
4
5
function navForm(objForm){
   with (objForm) {
       ...........
   }
}

Fuck me if I'm wrong, but isn't your name Gretchen?


  • pim
  • Registratie: Juli 2001
  • Laatst online: 06-02 05:55
Dit was de snelle werkende code, daarna heb ik het pas geoptimaliseerd..

  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 21-02 08:20

jfeelders

Kwaliteit voor kwantiteit...

Pim, ik ben nu met het zelfde probleem bezig en jouw oplossing is precies wat ik zoek. Hoe heb je uiteindelijk je script geoptimaliseerd?

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Oude topics kicken hoeft niet, je kan beter zelf wat uitproberen en als dat je niet lukt open je maar een topic. Ik hoop alleen dat je zijn code niet gaat gebruiken :X

[ Voor 12% gewijzigd door XWB op 27-04-2006 22:49 ]

March of the Eagles


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 21-02 08:20

jfeelders

Kwaliteit voor kwantiteit...

Waarom niet. Ik ben op de hoogte van de geldende voorschriften maar 2x het wiel uitvinden is ook niet nodig. pim heeft uiteindelijk ook een oplossing via GoT gevonden en het kan toekomstige scripters ook prima helpen.

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Waarom niet.
1 blik op bovenstaande code zegt genoeg neem ik aan? De options worden niet afgesloten, dat javascript in die onchange hoeft totaal niet en die javascipt functie kan stukken beter. Ik zie daar trouwens "form_aannaam" en ".form_aanemail" welke ik nergens in het form kan terug vinden.

March of the Eagles


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:32

crisp

Devver

Pixelated

Hacku schreef op vrijdag 28 april 2006 @ 00:20:
[...]


1 blik op bovenstaande code zegt genoeg neem ik aan? De options worden niet afgesloten, dat javascript in die onchange hoeft totaal niet en die javascipt functie kan stukken beter. Ik zie daar trouwens "form_aannaam" en ".form_aanemail" welke ik nergens in het form kan terug vinden.
Options hoef je ook niet af te sluiten, maar de JS kan inderdaad wel beter. Ten eerste zou ik gebruik maken van referenties naar je formulier/select middels het 'this' keyword, en ten tweede zou ik ten alle tijden gebruik van 'with' proberen te vermijden ;)

Intentionally left blank

Pagina: 1