Avatar billede jens_k Nybegynder
27. maj 2004 - 01:20 Der er 19 kommentarer og
1 løsning

iFrame skal sende noget til den side iFramen sidder på.

Hej

Jeg har en iFrame som sidder på i en side der hedder main.asp

main.asp er en side i et rammesæt som hedder frmMain.

Jeg vil gerne have noget fra min iFrame ud på den side som hedder main.asp (Altså frmMain).

Hvordan gør jeg lige det ?

Jeg har prøvet med :

parent.frmMain.document.location.href='test.asp';

Men det fungere ikke..

Hvad gør jeg forkert ?

/JK
Avatar billede roenving Novice
27. maj 2004 - 01:23 #1
Hvis du vil opdatere den side iframen er inde i skal du bare:

parent.location.href='test.asp';
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:27 #2
Det jeg skriver helt præcis er :

<Script>
parent.getElementById('varenavn_2') = 'JK';
</Script>

Og jeg får en fejl på den.´

Elementet på siden er en SPAN. Kan man ikke skrive det som jeg gør ?

Fejlen er : Objectet understøtter ikke denne egenskab eller metode.
Avatar billede roenving Novice
27. maj 2004 - 01:35 #3
<script type="text/javascript">
parent.document.getElementById('varenavn_2') = 'JK';
</script>

-- men den skal vel have en udløser til at opdatere varenavnet, f.eks.:

<select onchange="if(this.selectedIndex>0)parent.document.getElementById('varenavn_2') = this.value;">
  <option>Vælg vare</option>
  <option value="JK">Jensens Kaffe</option>
  <option value="BKI">BKI kaffe</option>
  <option value="Spar kaffe">Spar kaffe</option>
</select>
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:38 #4
Det er fordi jeg har en ASP side hvor man skriver noget i et input felt. Det man skriver er et varenummer. Når man så har skrevet det ind, så skal den hente vareteksten via et ASP script, dette script kører i en iFrame så hele siden ikke refreshes. iFramen skal så sætte vareteksten som den finder frem til ind i en SPAN som er på den oprindelig side.

Er dette forståelig :-)

/JK
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:40 #5
Den kan slet ikke finde elementet 'varenavn_2'.

/JK
Avatar billede roenving Novice
27. maj 2004 - 01:42 #6
Hvorfor får du så ikke dit asp til at lave en select med varenumre og varetekster på hovedsiden ?-)

Hvis du har myllioner af varer er det selvfølgelig ikke vejen frem, men jeg ville da tænke den vej først !-)
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:44 #7
Der er lidt over 100.000 varenumre, så det tager alt for lang tid..

/JK
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:45 #8
Desuden skal den ikke kun tage vareteksten, men også de varianter varen fåes i.
Avatar billede roenving Novice
27. maj 2004 - 01:45 #9
Du har et frameset ...

Inde i det er en af siderne main.asp ...

I main.asp har du en iframe, som du bruger interface til at slå op på serveren

-- og du har også nogle andre elementer, deriblandt et span med id="varenavn_2" ?-)
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:45 #10
Kan det ikke lade sig gøre at få fat i den side som iFramen sidder på ?

/JK
Avatar billede roenving Novice
27. maj 2004 - 01:47 #11
Den side, som iframen er i, er parent !-)

Det dokument, som er på siden er parent.document !-)
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:48 #12
Prøv og se her :

http://www.waow.dk/test.htm

Siden som iFramen bruger ligger på:

http://www.waow.dK/test2.htm

Det er jo meget simpelt, men virker ikke :-)

/JK
Avatar billede roenving Novice
27. maj 2004 - 01:57 #13
Brug

<body onload="">

til at udløse ...

Men hvis du bruger et form-element som en input skal du bruge:

<script type="text/javascript">
parent.document.getElementById('varenavn_2').value = 'JK';
</script>

-- den overså jeg desværre ...

-- og hvis det for eksempel er en span (altså ikke en slags redigerbart felt men et visningsområde !-) skal du:

<script type="text/javascript">
parent.document.getElementById('varenavn_2').innerHTML = 'JK';
</script>
Avatar billede jens_k Nybegynder
27. maj 2004 - 01:57 #14
nu virker det på http://www.waow.dk/test.htm

Men der er parent siden heller ikke inde i et andet rammesæt.

Så det er vel bare et spørgsmål om at skrive : frames.['frmMain'].getElementById('varenavn_2') = 'JK';

Eller ?

/JK
Avatar billede roenving Novice
27. maj 2004 - 01:58 #15
Nej !-)

Du skal stadig skrive præcis det samme, hvis siden er inde i tusind framesets !o]
Avatar billede jens_k Nybegynder
27. maj 2004 - 02:05 #16
Hehe ok :-)

Det virker nu, du skal have tusinde tak for hjælpen.

Mvh

Jens K
Avatar billede jens_k Nybegynder
27. maj 2004 - 02:05 #17
Vil du venligst lave et svar.

/JK
Avatar billede roenving Novice
27. maj 2004 - 02:06 #18
Velbekomme '-)
Avatar billede roenving Novice
27. maj 2004 - 02:13 #19
-- og tak for point ;~}
Avatar billede jens_k Nybegynder
27. maj 2004 - 02:21 #20
Det var så lidt..

Hvis du vil have flere så kig på : http://www.eksperten.dk/spm/503093

:P

Mvh

Jens K
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester