Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:15 Der er 11 kommentarer og
3 løsninger

Skrive et script om så det åbner side i Iframe i stedet for popup

Hej
Jeg har en del i et script der ser sådan her ud:
<script language=\"javascript\">
      function open_event(date_stamp){
        window.open(\"" . $calendar_script . "?show_event=true&event_date=\" + date_stamp, \"calendar_popup\",\"height=" . $event_popup_height . ",width=".$event_popup_width."\");
      }
</script>

Funktionen ligger på en side der vises i en iframe, jeg vil så gerne have den til at åbne i en anden Iframe og altså ikke som nu, i et pop-up vindue. Kan det overhovedet lade sig gøre??
Avatar billede softspot Forsker
22. oktober 2005 - 20:21 #1
Anden parameter i window.open er navnet på det vindue som siden skal åbne i og hvis det er navnet på en frame, så burde siden åbne i den frame...
Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:27 #2
Hmm... min iframe hedder text_frame så jeg prøvede
window.text_frame(\"" . $calendar_script . "?show_event=true&event_date=\" + date_stamp, \"calendar_popup\",\"height=" . $event_popup_height . ",width=".$event_popup_width."\");
      }

- men det virker ikke.

På siden står der i nederste hjørne: Der opstod en fejl på siden (Fejl: Objektet understøtter ikke denne egenskab eller metode.)

- Vil det så sige at det ikke kan lade sig gøre?
Avatar billede pidgeot Nybegynder
22. oktober 2005 - 20:33 #3
Nu er det så ikke anden parameter du har ændret, men metodekaldet - der skal snarere stå

<script language=\"javascript\">
      function open_event(date_stamp){
        window.open(\"" . $calendar_script . "?show_event=true&event_date=\" + date_stamp, \"text_frame\",\"height=" . $event_popup_height . ",width=".$event_popup_width."\");
      }
</script>
Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:34 #4
Jeg prøvede lige med
window.parent.text_frame( ...  fordi det er en iframe der skal åbne en anden iframe.

Nu viser den ikke nogen fejl på siden, men det virker alligevel ikke... ? :-/
Avatar billede softspot Forsker
22. oktober 2005 - 20:36 #5
Hvis jeg fjerne alt PHP-støjen og skriver denne scriptkode og tester det i en ren HTML-side, så fungere det fint, så jeg tror det er din kombination af PHP og javascript der giver dig problemer.

<script type="text/javascript">
  function open_event(date_stamp){
    window.open("?show_event=true&event_date=" + date_stamp, "calendar_popup");
  }
</script>
Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:36 #6
Pidgeot... det virkede! Og jeg troede det var MEGET mere kompliceret :D
Lækkert!
Avatar billede softspot Forsker
22. oktober 2005 - 20:40 #7
...og der er ikke nogen grund til at have width og height med når du åbner i en iframe...
Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:40 #8
Tak for hjælpen begge to.
Vil du lige smide et svar pidgeot... (Var spørgsmålet 115p værd :) )
Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:41 #9
Softspot, jep den spottede jeg også, så det er slettet :)
Avatar billede pidgeot Nybegynder
22. oktober 2005 - 20:42 #10
Nej, synes jeg ikke umiddelbart - men lad softspot få hovedparten af pointene, det var trods alt ham der kom med svaret - jeg rettede bare i din kode ud fra det han skrev :)
Avatar billede flashnoob Nybegynder
22. oktober 2005 - 20:44 #11
Softspot, læg lige et svar også :)
Avatar billede softspot Forsker
23. oktober 2005 - 00:06 #12
Ok... hvad angår mængden af point, så er det op til dig at afgøre hvormeget du vil give... :)
Avatar billede flashnoob Nybegynder
26. oktober 2005 - 22:20 #13
Tak endnu engang.
Avatar billede softspot Forsker
26. oktober 2005 - 22:24 #14
Tak for point :)
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