Avatar billede tue Nybegynder
05. august 2000 - 23:36 Der er 18 kommentarer og
1 løsning

self.close og derefter refresh siden !

Hej

Jeg har en side, hvor jeg åbner en lille vindue ! Når brugeren har så har indtastet noget data og trykker på Gem, så skal skal vinduet lukke, og siden der før lå i baggrunden før skal refresh\'e !

Hvordan laver jeg det ?
Avatar billede erikjacobsen Ekspert
05. august 2000 - 23:50 #1
I det lille vindue kører jo nok en ASP/PHP eller lignende. Ikke?

Så har du et sted der ser ca. sådan her ud

  if ($mode==\"gem\") {
    ...en masse SQL....
    print \"<script language=\'JavaScript\'>opener.reload(true);self.close()</script>\";
  }

Altså du lader det lille vindue - efter der er gemt noget i ASP/PHP - generere en stump JavaScript,
som du skal sørge for står i <head>...</head>, så det bliver udført automatisk. Opener er det
vindue der åbnede det lille vindue. Såden er det, såmænd.
Avatar billede tue Nybegynder
06. august 2000 - 00:13 #2
Jeg kan ikke lige få det til at virke !

Her er koden:

\' telefonbogen
    if request(\"mode\") = \"bog\" then
        response.write \"<form action=\'sms.asp?mode=save\' method=\'post\'><center><font size=\'4\' face=\'verdana\'>Tilføj/ret telefonbog</font></center><table border=\'0\' align=\'center\'><tr><td></td><td width=\'60\'>Navn:</td><td>Mobilnr.</td></tr>\"
            for i = 1 to 8
                response.write \"<tr><td>\" & i & \" </td><td width=\'60\'><input type=\'text\' size=\'12\' name=\'navn\" & i & \"\' value=\'\" & request.cookies(\"telebog\")(\"navn\" & i & \"\") & \"\'></td><td><input type=\'text\' size=\'8\' maxlength=\'8\' name=\'nummer\" & i & \"\' value=\'\" & request.cookies(\"telebog\")(\"nummer\" & i & \"\") & \"\'></td></tr>\"
            next
        response.write \"<tr><td></td><td><input type=\'submit\' value=\'Gem\'></td></tr></table></form>\"
    else
        \' gem telefonbogen
        if request(\"mode\") = \"save\" then
            for i = 1 to 8
                response.cookies(\"telebog\")(\"navn\" & i & \"\") = request(\"navn\" & i & \"\")
                response.cookies(\"telebog\")(\"nummer\" & i & \"\") = request(\"nummer\" & i & \"\")
            next
            \' sættter dato på telefonbogen
            response.cookies(\"telebog\").expires = now()+365
            response.write \"<head>\"
            response.write \"<script language=\'JavaScript\'>opener.reload(true);self.close()</script>\"
            response.write \"</head>\"
        end if
    end if

---------------------------------------------------------------------------------

Siden er opdelt i modes, og overstående kode, er kun koden for telefonbogen !
Avatar billede erikjacobsen Ekspert
06. august 2000 - 00:17 #3
Fortæl mig lidt mere, tue. Lukker vinduet? Hvad virker ikke?

Måske du lige - for god ordens skyld - skal lave det så det kommer til at se helt
rigtigt ud:

<html>
<head>
<script.......>

</head>
</html>

Men det er nok ikke derfor....;-)
Avatar billede erikjacobsen Ekspert
06. august 2000 - 00:17 #4
Eller du skal sige    window.opener.reload(true)
Avatar billede tue Nybegynder
06. august 2000 - 00:23 #5
Du kan se det her:

http://www.qcom.dk/tester/sms.asp

Nå du klikker på den lille bog ved siden af feltet \'til\', så bliver der åbnet et vindue !
Nå man så trykker på \'Gem\', så skal siden lukke, og side du først var på først skal refresh\'e !
Avatar billede olebole Juniormester
06. august 2000 - 00:30 #6
<ole>
Som Erik skriver:
    window.opener.reload(true);
...ellers kan det ikke fungere.
/Vh
</bole>
Avatar billede tue Nybegynder
06. august 2000 - 00:40 #7
Det virker ikke !

Når det indtastet data er gemt, så skriver den:

<html><head><script language=\'JavaScript\'>window.opener.reload(true);self.close()</script></head><body></body></html>

... men det virker ikke !
Avatar billede erikjacobsen Ekspert
06. august 2000 - 00:43 #8
nej nej, ole, Le Professeur a fait un mistake. Det hedder
  opener.location.reload();
Avatar billede erikjacobsen Ekspert
06. august 2000 - 00:45 #9
I kan prøve det på http://www11.ewebcity.com/1script/tue1.asp, hvor tue1.asp er:

<html>
<head>
<title>Hejsa tue</title>
</head>
<body>

<% response.write Now() %>

<br><br>
<a href=\"#\" onclick=\"window.open(\'tue2.asp\',\'tue2\',\'width=200,height=200\');\">Nyt vindue</a>
</body>
</html>


og tue2.asp er


<html>
<head>
<% if request.form(\"hvad\")=\"gem\" then
      \'Vi har ikke noget at gemme
%>
  <script language=\"JavaScript\">
    opener.location.reload(true);
      self.close();
  </script>

<% end if %>

</head>
<body>

<form method=\"post\">
<input type=\"hidden\" name=\"hvad\" value=\"gem\">
<input type=\"submit\">
</form>
</body>
</html>
Avatar billede tue Nybegynder
06. august 2000 - 00:53 #10
Genialt, nu virker det jo ! Tak !
Avatar billede erikjacobsen Ekspert
06. august 2000 - 00:55 #11
*smigret*
Avatar billede olebole Juniormester
06. august 2000 - 01:37 #12
Nu da Le Proffeseur og jeg jo holder så meget af at \'tage hinandens fluer bagfra\', skal jeg da ikke undlade at nævne, at den korrekte syntaks må være:
    window.opener.location.reload(true);
...da \'opener\' tilhører window-objektet  ;o))
/Vh
Avatar billede olebole Juniormester
06. august 2000 - 01:37 #13
Men det funker sikkert fint uden! ;o)
Avatar billede erikjacobsen Ekspert
06. august 2000 - 08:45 #14
Assisterende professeur Ole har selvfølgelig ret. Nogle gange
kalder jeg også min datter for Sofie uden at sige hendes efternavn. Men
det er nu ikke altid hun kommer.
Avatar billede mpj Nybegynder
06. august 2000 - 12:27 #15
Olobolo & EJ>>

Hold da kæft man.... :o)
Avatar billede olebole Juniormester
06. august 2000 - 15:30 #16
Nu, da mpj\'s gule badeand ER fløjet forbi hovedet på mig, må jeg lige poppe op og sige:
Der kan du selv se, Erik!...Hehe!  ;o))
/Vh
Avatar billede spacey Nybegynder
06. august 2000 - 19:25 #17
Erik>>>> Jamen hvad er det da også for noget pjat at vi skal forklare hvad vi vil i JS!!!

Lad os hermed oprette foreningen mod udtryk som document, opener, parent, window osv :-)
Avatar billede mozart Nybegynder
14. november 2000 - 14:11 #18
Hvad skal man gøre, hvis man vil refreshe en anden frame end den man kaldte åbnede pop vinduet fra???? Please Help Me
Avatar billede erikjacobsen Ekspert
14. november 2000 - 15:34 #19
Det bliver noget i retning af
  opener.top.rammenavn.reload(true)
sat passende ind.
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