[js] 2 forms in 1 pagina

Pagina: 1
Acties:

  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
ik heb een dropdown menu, als ik een 'option' select uit mijn dropdown menu wordt met dit scriptje door verwezen naar de url

code:
1
2
3
4
function formHandler(form){
var URL = document.forms[0].site.options[document.forms[0].site.selectedIndex].value;
window.location.href = URL;
}


Ik heb nu een 2e form op mijn pagina en nu gaat dit fout. Want nu probeert het scriptje ook de andere form aan te spreken met het gevolg dat de pagina alleen maar refreshed. Ik moet dus wat aanpassen maar wat
code:
1
2
function formHandler(form_hieriets_){
}

[ Voor 3% gewijzigd door edwinistrator op 12-03-2003 17:09 ]


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 23-08 18:13
Je geeft al een var mee in de funtie, maar je doet er niets mee. Wijzig forms[0] eens in forms[form], dan moet-ie al wat meer doen...

  • Pjottski
  • Registratie: Maart 2001
  • Laatst online: 23-08 18:04

Pjottski

🦍 Monkey 🦍

Je kan ipv forms[0] ook de name attribuut van je formulier gebruiken.

Dit is mijn uitspraak en daar zult u het mee moeten doen


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 21:20

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

probeer eens
code:
1
document.forms[1].elements['site'];

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


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Prammenhanger schreef op 12 March 2003 @ 17:26:
probeer eens
code:
1
document.forms[1].elements['site'];
dan heb je je element gelocaliseerd maar heb je nog geen waarde ;)

Maar fomrs worden idd ook als array opgebouwd beginnend bij 0.
wil je het 2e form aan spreken dan is dat dus forms[1].
Als de functie voor beide forms moet gelden dan kun je eventueel de formnaam als argument meegeven in de functie zoals sjroorda al zegt.

www.jurgroessen.nl


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 21:20

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Hangloozz schreef op 12 March 2003 @ 17:41:
[...]

dan heb je je element gelocaliseerd maar heb je nog geen waarde ;)

Maar fomrs worden idd ook als array opgebouwd beginnend bij 0.
wil je het 2e form aan spreken dan is dat dus forms[1].
Als de functie voor beide forms moet gelden dan kun je eventueel de formnaam als argument meegeven in de functie zoals sjroorda al zegt.
duh :+ het hoeft hier geen afhaalsnackbar te worden voor vragen :)

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


  • KnEuTeR
  • Registratie: Mei 2000
  • Laatst online: 24-02-2024

KnEuTeR

iedereen heeft een handelsmerk

jongensjonges... leer eerst een fatsoenlijk javascript voordat je hier gaat vragen, dan zouden 9 op de 10 vragen niet meer voorkomen hier :{

Computers ain't that smart, Whatever man built could be taken apart


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 23:23

RM-rf

1 2 3 4 5 7 6 8 9

operation3 schreef op 12 March 2003 @ 17:09:
code:
1
2
3
4
function formHandler(form){
var URL = document.forms[0].site.options[{..}].value;
window.location.href = URL;
}
om uit te leggen hoe de functie werkt:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
function functionNaam( local_variabele ) 
{
   var myForm = document.forms['name_van_form']
      /* retouneert form object */
   var myFormElement = myForm.elements['site']
      /* retourneert object van element binnen form */
   var myFormElementSelectedIndex = myFormElement.selectedIndex 
      /* geeft de index-waarde (een getal) van de 
       geselecteerde OPTION van de SELECT-box */
   var myFormElementValue = myFormElement.options[myFormElementSelectedIndex]
      /* string-waarde van element */
   window.location.href = myFormElementValue
}


de waarde 'local_variabele' wordt in je script niet gebruikt, maar zoiets zou in een functie de methode zijn om lokale variabele aan een functie door te geven, zodat dezelfde functie voor verschillende doeleinden kan functioneren, bv door de naam van het form niet 'hard' te coderen in de functie maar hieraan door te geven, bv:
code:
1
   var myForm = document.forms[  local_variabele ]

waarna je de functie oproept met bv. onclick="functionNaam('naam_van_form')"

je kunt in die variabele ook direct hele objecten opslaan, bv door het form op te roepen met:
<input type="button" onclick="functionNaam(this.form)"> waarnaa local_variabele al het formobject bevat, dat je anders had moeten toewijzen via document.forms.

het aanspreken van een form via de 'name' is zeker te preferen boven het aanspreken van een form via de index-waarde: de index is gewoon een getal, gebaseerd op volgorde in de pagina (of volgorde van rendering eigenlijk), plaats je daarvoor een ander form, functioneert je functie niet meer.
KnEuTeR schreef op 12 March 2003 @ 18:03:
jongensjonges... leer eerst een fatsoenlijk javascript voordat je hier gaat vragen, dan zouden 9 op de 10 vragen niet meer voorkomen hier :{
Mijn grootmoeder heeft me geleerd dat de beste methode iets te leren is door anderen te vragen, zolang iemand zelf aan de slag gaat en uitleg wil waarom iets niet functioneert en hoe het wel kan functioneren dient hij binnen een forum een geschikte plek te vinden om dat beantwoord te krijgen.
Geen zuurpruimen die enkel willen afkraken.

[ Voor 14% gewijzigd door RM-rf op 12-03-2003 20:11 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • edwinistrator
  • Registratie: December 2000
  • Laatst online: 23-03-2022
RM-rf, bedankt voor de goeie uitleg. Ik ben dus wat met jouw code gaan prutsen en kwam op dit testje uit maar nu geeft ie [object] ?? als ik een option select.

en nou dacht ik dat ik aardig deed wat RM-rf zei dat ik moet doen

[ Voor 6% gewijzigd door edwinistrator op 13-03-2003 13:57 ]


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

deze regel:

code:
1
var myFormElementValue = myFormElement.options[myFormElementSelectedIndex]

haalt de value op, mits dat aangegeven wort, en dat wordt het niet.
Wijzig um naar:
code:
1
var myFormElementValue = myFormElement.options[myFormElementSelectedIndex].value;

www.jurgroessen.nl

Pagina: 1