Toon posts:

[JavaScript] functie voor reloaden iframe

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een pagina met daarop een formulier met twee listboxen. De inhoud van de 2e listbox is afhankelijk van de 1e. Ik probeer de 2e listbox te vullen door hem een default-waarde te geven die aansluit op de 1e listbox, en zodra er een onChange-event plaatsvindt in de 1e listbox, wordt de 2e listbox opnieuw gevuld. Dit wil ik doen door de 2e listbox in een iframe te zetten, en bij een onChange dit iframe te reloaden. (bedankt 4guysfromarolla!).

Het javascript wat wordt aangeroepen heet HandleChange() en ziet er als volgt uit:
code:
1
2
3
4
5
6
 function HandleChange()
 {
   //Pas keuzeformulier2 aan
 parent.frmKeuzemenu2.document.location.href="iframe.asp" 
+ document.forms[0].keuzeformulier1.value;
 }

De listbox heet Keuzemenu2, de src van het iframe is iframe.asp. Nu krijg ik echter steeds foutmelding
'parent.frmKeuzemenu2.document is not an object'.

Ik dacht zelf dat dit misschien kon komen doordat het originele script is gebaseerd op het herladen van frames, en niet voor iframes. Iemand enig idee wat er fout gaat?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op dinsdag 22 januari 2002 17:57 schreef Shivo het volgende:
De listbox heet Keuzemenu2, de src van het iframe is iframe.asp. Nu krijg ik echter steeds foutmelding
'parent.frmKeuzemenu2.document is not an object'.
??

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op dinsdag 22 januari 2002 18:03 schreef dusty het volgende:

[..]

??
Ik heb niet echt een idee hoe JavaScript werkt en heb dus maar wat geprobeerd. Wat moet daar voor iets staan? formnaam? framenaam?

Overigens heb ik parent.Keuzemenu2.document ook geprobeerd, zelfde melding.

Verwijderd

Topicstarter
Problem solved. :)

De juiste code was:
code:
1
2
3
4
5
6
 function HandleChange()
 {
   //Pas keuzeformulier2 aan
 parent.Keuzemenu2.document.location.href="iframe.asp?variabele1="
 + document.forms[0].keuzemenu1.value;
 }

waarbij in iframe.asp mbv een Request.Querystring variabele1 kan worden uitgevraagd
(formStaat = Request.Querystring("variabele1"))

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:42

crisp

Devver

Pixelated

1) JS hoort in /13 (zal wel gemoved worden, maar ik kwam toch binnenfietsen)
2) Waarom moeilijk doen met een iFrame en reloaden???
3) location is een property van window (officieus ook een read-only property van document - veel browsers doen een document.location.href = blaat ook goed maar het hoort dus window.location.href = blaat te zijn)

ergo:
code:
1
parent.frmKeuzemenu2.window.location.href="iframe.asp"

ervanuitgaande dat je iFrame 'frmKeuzemenu2' heet.
En moet de parameter niet mbv een '?' van de URL gescheiden worden?

edit:

was je zelf toch sneller :)
verander voor de goede vorm dat document dan ook maar meteen in window, dan doe je het officieel ook goed.
Ga voor de gein trouwens in /13 ook maar eens zoeken op select en onChange, dan zul je zien dat er ook andere manieren zijn om het op te lossen zonder iFrame (en dus meer x-browser compatible)

Intentionally left blank


Verwijderd

Topicstarter
Op dinsdag 22 januari 2002 18:20 schreef crisp het volgende:
1) JS hoort in /13 (zal wel gemoved worden, maar ik kwam toch binnenfietsen)
2) Waarom moeilijk doen met een iFrame en reloaden???
3) location is een property van window (officieus ook een read-only property van document - veel browsers doen een document.location.href = blaat ook goed maar het hoort dus window.location.href = blaat te zijn)

ergo:
code:
1
parent.frmKeuzemenu2.window.location.href="iframe.asp"

ervanuitgaande dat je iFrame 'frmKeuzemenu2' heet.
En moet de parameter niet mbv een '?' van de URL gescheiden worden?

edit:

was je zelf toch sneller :)
verander voor de goede vorm dat document dan ook maar meteen in window, dan doe je het officieel ook goed.
Ga voor de gein trouwens in /13 ook maar eens zoeken op select en onChange, dan zul je zien dat er ook andere manieren zijn om het op te lossen zonder iFrame (en dus meer x-browser compatible)
Ik zie nu inderdaad dat dit hier niet thuis hoort :)
But anyway: ik had gezocht, niks gevonden. Ik heb ook op andere (ASP/Javascript)pagina's gezocht, ook niks gevonden. Dit werkt in ieder geval, dus ik laat het nu maar zo staan.
Maar als je zin hebt om een betere methode voor te stellen, ga je gang :9

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:42

crisp

Devver

Pixelated

even een recent topic opgediept :)

Intentionally left blank


Verwijderd

Topicstarter
Ik zie het. Morgen maar eens bekijken dan. Dank voor uw moeite. :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:42

crisp

Devver

Pixelated

Op dinsdag 22 januari 2002 18:40 schreef Shivo het volgende:
Ik zie het. Morgen maar eens bekijken dan. Dank voor uw moeite. :)
Zeg maar je hoor ;)

Intentionally left blank


Verwijderd

Topicstarter
OK. Je.

Goed, dit topic mag nu wel gemoved worden ;)
Pagina: 1