Avatar billede krc_ Nybegynder
03. juni 2004 - 16:59 Der er 31 kommentarer og
1 løsning

reload hele siden

hej!

Jeg har en shoutboks på min side i en iframe og resultatet på det indtastede i shoutboksen ses i en anden iframe. For at få det hele til at opdatere ved indtastning af noget myt ville jeg i asp-filen til sidst lave en redirect til en fil reload.htm eller lign som gør at hele siden bliver refreshed men uden at åbne et nyt vindue. Hvordan gør jeg det ?
Avatar billede roenving Novice
03. juni 2004 - 17:14 #1
Response.Write "<script type='text/javascript'>top.location.reload(true);</script>"
Avatar billede krc_ Nybegynder
03. juni 2004 - 17:21 #2
hmm.....hvor skal det være ?
Jeg forstår ikke hvorfor der skal være en response.write ?
Avatar billede roenving Novice
03. juni 2004 - 17:31 #3
Behøver det heller ikke at være, men du kan fra dit asp-script kun påvirke det, som står i den aktuelle frame, mens javascript kan lave nummeret med at reloade det hele !-)
Avatar billede krc_ Nybegynder
03. juni 2004 - 17:36 #4
det vil sige at hvis jeg istedet for en redirecte i asp-siden skriver:
Response.Write "<script type='text/javascript'>top.location.reload(true);</script>"
Så reloader den hele siden ?
Avatar billede roenving Novice
03. juni 2004 - 17:39 #5
Jepz !-)

Men du skal selvfølgelig kun skrive den, når der er kommet indlæg, ellers vil den jo reloade hele tiden !o]
Avatar billede krc_ Nybegynder
03. juni 2004 - 17:44 #6
yep yep :)
Prøver lige senere.....så smid lige et svar imens så kan du få point hvis det virker ;o)
Avatar billede roenving Novice
03. juni 2004 - 17:50 #7
Oki '-)
Avatar billede krc_ Nybegynder
03. juni 2004 - 21:55 #8
damn....det virker ik helt...
Får en ny side (ala target=_blank) op hvor der så står at den ikke kan refreshes uden at sende data igen...og så kan jeg cancel eller retry men der sker intet når jeg trykker på knapperne..bare samme billede igen
Avatar billede desdichado Nybegynder
04. juni 2004 - 18:30 #9
Grunden til at du får refresh-confirmen er sandsynligvis at du har postet en form til hovedsiden, og ved "location.reload()" så dermed forsøger at poste formdata igen.

Check om dette er tilfældet, og hvis det er, så kan du ikke bruge reload, men må bare sætte "location.href" i stedet.

Hvis det IKKE er tilfældet, så prøv at lave 3 små sider med nedenstående indhold, og tilpas dem til dit behov:

DEFAULT.ASP
-----------
<form name="myForm" method="post" action="default.asp">
  <input type="text" name="bla" value="" />
  <input type="submit" id="submit1" name="submit1">
</form>

<iframe name="side1" id="side1" width="400" height="200" src="side1.asp"></iframe>
<iframe name="side2" id="side2" width="400" height="200" src="side2.asp"></iframe>


SIDE1.ASP
---------
<form name="myForm" method="post" action="side2.asp" target="side2">
  <input type="text" name="bla" value="" />
  <input type="submit" id="submitbutton" />
</form>


SIDE2.ASP
---------
<input type="button" onclick="parent.location.reload();" value="reload hovedside" />


Du kan med ovenstående kode selv se forskellen på hvad der sker når du poster formdata til hovedsiden, og når du ikke gør. Som sagt, jeg mistænker det er der hunden ligger begravet :)
Avatar billede krc_ Nybegynder
07. juni 2004 - 09:09 #10
Skal jeg bare prøve at skrive sådan :

Response.Write "<script type='text/javascript'>top.location.href(true);</script>"

??
Avatar billede desdichado Nybegynder
07. juni 2004 - 10:13 #11
Uhm... har du checket om du poster en form til hovedsiden?

Og prøv det eksempel jeg skrev i ovenstående svar :)
Avatar billede krc_ Nybegynder
07. juni 2004 - 10:43 #12
hvis jeg skriver
Response.Write "<script type='text/javascript'>top.location.href(true);</script>"
Så åbner den igen bare et nyt vindue med den aktuelle fil i, men det kan ikke lade sig gøre da filen jo er en add_db.asp altså en der bare smider nogle data i databasen. Så igen er jeg lidt ude og sk... Jeg forstår ik helt hvad det er du vil have mig til med de 3 du beskriver...
Avatar billede desdichado Nybegynder
07. juni 2004 - 10:54 #13
Har du prøvet at udskifte top.location.href med parent.location.href?

Og er der et sted på nettet man kan se din kode køre?
Avatar billede krc_ Nybegynder
07. juni 2004 - 12:02 #14
Avatar billede krc_ Nybegynder
07. juni 2004 - 12:02 #15
det er shout boksen ude til højre
Avatar billede desdichado Nybegynder
07. juni 2004 - 12:40 #16
Ah, du skal jo huske et ID på den IFRAME der skal postes til, ellers ved formen ikke i hvilket vindue den skal poste data, og åbner derfor i et nyt vindue.

<iframe src=shout/shout.asp width="150" height="200"></iframe>

skal hedde

<iframe src="shout/shout.asp" id="poruke" width="150" height="200"></iframe>
Avatar billede desdichado Nybegynder
07. juni 2004 - 12:43 #17
På din hovedside altså... :)

Den side der tilføjer data til databasen, skal så bare sørge for at Response.Redirecte til den side der viser de sidste nye tilføjelser til shoutboxen.
Avatar billede krc_ Nybegynder
07. juni 2004 - 13:16 #18
Nu har jeg tilføjet :
<iframe src="shout/shout.asp" id="poruke" width="150" height="200"></iframe>

på hovedsiden....men jeg fatter ikke hvad jeg skal skrive i den anden fil så ? Skal id ikke med i linien på en eller anden måde så eller ?
Det er jo bare hele index.htm jeg vil have reloaded i samme vindue når filen har skrevet i databasen ????
Avatar billede desdichado Nybegynder
07. juni 2004 - 13:26 #19
Det er lidt fjollet at reloade hele index.htm, når du bare udskifter indhold i en enkelt iframe. Men hvis du vil gøre det alligevel, så værs'go... :)

Så vidt jeg kan se har du tre sider der styrer tilføjelse af indlæg:

* SHOUTBOX.ASP der er en form du poster.
* UPIS.ASP der modtager data fra SHOUTBOX.ASP og tilføjer til databasen (?)
* SHOUT.ASP der viser de sidst tilføjede indlæg.

Hvis dette er korrekt, så skal du på siden UPIS.ASP sørge for at tilføje dit javascript, og samtidigt være sikker på at den ikke bare serverside redirecter til selve visningssiden (SHOUT.ASP), selv om dette dog også burde klare paragrafferne.

Og husk, dit javascript skal altså se sådan ud:

<script type='text/javascript'>parent.location.reload()</script> og skal tilføjes i mellem <head> og </head>.
Avatar billede krc_ Nybegynder
07. juni 2004 - 13:33 #20
Det er korrekt at siderne fungerer på den måde. Jeg er ligeglad om den reloader hele siden eller bare den iframe med id="poruke". Men jeg vidste bare ikke at man kunne reloade en bestemt frame bare. Men jeg fatter stadig ikke hvordan man gør det hehe....UPIS er en ren asp-side så den har jo ikke en head-sektion !?! Men hvis vi kan nøjes med at reloade id="poruke" er det helt ok, men jeg skal lige have det skåret ud i pap hvor hvad skal stå.....for jeg kan ik få det til at virke endnu!
Sorry...
Avatar billede desdichado Nybegynder
07. juni 2004 - 13:35 #21
Eftersom UPIS.ASP gemmer data, og i forvejen kører i vinduet med id "poruke", så er det bare at tilføje følgende linie kode nederst i UPIS.ASP:

Response.Redirect("SHOUT.ASP")

Siden SHOUT.ASP vil så blive vist i pågældende vindue, altså "poruke", og hvis indsættelsen er gået godt, vil den nyeste tilføjelse blive vist.

På den måde behøver du ikke rode rundt med noget javascript el.lign.
Avatar billede krc_ Nybegynder
07. juni 2004 - 13:41 #22
Hmm..nu viser den godt nok shout, men desværre i et nyt vindue :-(
Avatar billede desdichado Nybegynder
07. juni 2004 - 13:49 #23
Har du, i UPIS.ASP, tilføjet Response.Redirect som skrevet ovenfor?
Og husket at fjerne det javascript der (måske) lå der før?
Avatar billede krc_ Nybegynder
07. juni 2004 - 13:54 #24
UPIS.ASP :

<!--#include file="common.asp" -->
<%
strPoruka
    strIme = Request.Form("Ime")
    strPoruka = Request.Form("Poruka")
   
'Sprijecavanje upisa HTML-a kroz polje ime   
    strIme = Replace(strIme, "<", "&lt;")
    strIme = Replace(strIme, ">", "&gt;")
    strIme = Replace(strIme, "'", "''")
   
'Sprijecavanje upisa HTML-a kroz polje poruka   
    strPoruka = Replace(strPoruka, "<", "&lt;")
    strPoruka = Replace(strPoruka, ">", "&gt;")
    strPoruka = Replace(strPoruka, "'", "''")   
   
'otvaranje objekta
Set rsUpis = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT tblPoruke.* FROM tblPoruke;"
  rsUpis.CursorType = 2
  rsUpis.LockType = 3
rsUpis.Open strSQL, strCon

rsUpis.AddNew
 
     
  rsUpis.Fields("IME")     = strIme
  rsUpis.Fields("PORUKA")  = strPoruka

'Provjera dali je neko o polja neispunjeno
if strIme = "" then
        response.redirect("shout.asp?error=da")
        end if

if strPoruka = "" then
        response.redirect("shout.asp?error=da")
        end if
       
       
if strIme = "ime" then
        response.redirect("shout.asp?error=da")
        end if

if strPoruka = "msg" then
        response.redirect("shout.asp?error=da")
        end if

'zapisivanje cookie-a autoru poruke       
Response.Cookies("shoutbox")("www.toxiclab.org")= strIme
Response.Cookies("shoutbox").Expires = Now() + 365

'upis   
rsUpis.Update
rsUpis.Requery

'redirekcija
Response.Redirect("SHOUT.ASP")


%>

Index.htm :

<html>

<head>

<title>Stald Kanehøj</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<style type="text/css">
a { text-decoration:none }
</style>

<style type="text/css">
BODY{
scrollbar-3d-light-color: #bbbb88;
scrollbar-arrow-color: #000000;
scrollbar-base-color: #ffffff;
scrollbar-dark-shadow-color: #ffffff;
scrollbar-face-color: #bbbb88;
scrollbar-highlight-color: #ffffff;
scrollbar-shadow-color: #ffffff;
}
</style>
<base target="main">
</head>

<body bgcolor="#999966" topmargin="20" leftmargin="0" link="#000000" vlink="#000000" alink="#000000">

<div align="center">
<center>
  <table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" width="800" height="500">
  <tr>
    <td>
</center>
  <table border="0" width="800" cellspacing="0" cellpadding="0" bgcolor="#CCCC99">
  <tr>
    <td width="799" valign="top" colspan="3">
    <p align="center"><img border="0" src="hest03.jpg" width="694" height="80">
    </td>
  </tr>
  <tr>
  <td width="171" valign="top" align="center">
    <div align="right">
    <table border="0" width="154" cellspacing="1">
  <tr>
  <td width="146">
  <div align="right">
  <table border="0" style="filter:alpha(opacity=100)" width="120" bgcolor="#000000" cellspacing="1" cellpadding="0">
  <tr>
  <td width="100%">
    <p align="center"><img border="0" src="menu.jpg" width="150" height="18"></p>
  </td>
  </tr>
 
  <tr>
    <td bgcolor="#FFFFFF" onmouseover="co(this,'in');" onmouseout="co(this,'out');" align="center" width="150" height="16">
    <span class="small"><a href="file:///C:/Documents and Settings/krc/Skrivebord/dogs/show.htm">
      <font face="Tahoma" size="1">
      <b>&nbsp;Forsiden</b>
      </font></a>
    </span>
    </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF" onmouseover="co(this,'in');" onmouseout="co(this,'out');" align="center" width="150" height="16">
    <span class="small"><a href="file:///C:/Documents and Settings/krc/Skrivebord/dogs/show.htm">
      <font face="Tahoma" size="1">
      <b>&nbsp;Stald Kanehøj</b>
      </font></a>
    </span>
    </td>
  </tr>
      <tr>
    <td bgcolor="#FFFFFF" onmouseover="co(this,'in');" onmouseout="co(this,'out');" align="center" width="150" height="16">
    <span class="small"><a href="file:///C:/Documents and Settings/krc/Skrivebord/dogs/show.htm">
      <font face="Tahoma" size="1">
      <b>&nbsp;Terapeutisk ridning</b>
      </font></a>
    </span>
    </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF" onmouseover="co(this,'in');" onmouseout="co(this,'out');" align="center" width="150" height="16">
    <span class="small"><a href="file:///C:/Documents and Settings/krc/Skrivebord/dogs/show.htm">
      <font face="Tahoma" size="1">
      <b>&nbsp;Hestene</b>
      </font></a>
    </span>
    </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF" onmouseover="co(this,'in');" onmouseout="co(this,'out');" align="center" width="150" height="16">
    <span class="small"><a href="file:///C:/Documents and Settings/krc/Skrivebord/dogs/show.htm">
      <font face="Tahoma" size="1">
      <b>&nbsp;Kontakt</b>
      </font></a>
    </span>
    </td>
  </tr>
                      </table>
                  </div>
                  </td>
                </tr>
                <tr>
                  <td width="146" height="15">
                  </td>
                </tr>
                <tr>
                  <td width="146">
                  <div align="right">
                    <table border="0" style="filter: alpha(opacity=100)" bgcolor="#000000" cellspacing="1" cellpadding="0">
                      <tr>
                        <td width="100%" bgcolor="#999966" height="18">
                          <p align="center"><img border="0" src="nyheder.jpg" width="150" height="18"></p>
                        </td>
                      </tr>
                          <tr>
                            <td width="100%" bgcolor="#FFFFFF" valign="middle" align="center">
                        <font face="Tahoma" size="1">Nyheder
                          </td>
                      </tr>
                    </table>
                  </div>
                  </td>
                </tr>
                <tr>
                  <td width="146" height="15">
                  </td>
                </tr>
                <tr>
                  <td width="146">
                  <div align="right">
                    <table border="0" style="filter:alpha(opacity=100)" width="152" bgcolor="#000000" cellspacing="1" cellpadding="0">
                      <tr>
                        <td width="100%" bgcolor="#999966" height="15">
                          <p align="center"><img border="0" src="opdtatlene.jpg" width="150" height="18"></p>
                        </td>
                      </tr>
                      <tr>
                        <td width="100%" bgcolor="#FFFFFF" height="105">
                          <div align="center">
                            <center>
                            <table border="0" cellpadding="0" cellspacing="0" width="98%">
                              <tr>
                                <td>
                                  <p align="center"><font size="1" face="Tahoma">22-11-2003
                                  Nyt design på hele siden</font></td>
                              </tr>
                            </table>
                            </center>
                          </div>
                         
                        </td>
                      </tr>
                    </table>
                  </div>
                  </td>
                </tr>
                <tr>

<!-- Vote frame -->
                </tr>
              </table>
             
              </div>
             
</td>
          <!-- Nyheder -->
            <td valign="top" width="481">
              <div align="center">
                <center>
                <table border="0" cellpadding="0" width="480">
                  <tr>
                    <td height="48" width="496">
                  <div align="center">
                    <table border="0" style="filter: alpha(opacity=100)" width="94%" bgcolor="#000000" cellspacing="1" cellpadding="0" height="445">
                      <tr>
                        <td width="100%" bgcolor="#999966" height="15">
                          <p align="center"><img border="0" src="main.jpg" width="150" height="18"></p>
                        </td>
                      </tr>
                      <tr>
                        <td width="100%" bgcolor="#BBBB88" valign="middle" align="center">

                              <table border="0" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td align="left">
                                  <IFRAME id=news name=main marginWidth=0 marginHeight=0 src="show.htm" frameBorder=0 width=460 height=425>
<!--
                                    <ilayer name="main" id="name"  width="470" height="440" frameborder=0 marginheight=0 marginwidth=0 src="news.php">
                                    </ilayer>
-->                             
                                    </IFRAME>
                                  </td>
                                </tr>
                              </table>
                        </td>
                      </tr>
                    </table>
                  </div>
                    </td>
                  </tr>
                </table>
                </center>
              </div>
            </td>
            <td width="173" valign="top">
              <div align="left">
              <table border="0" width="141" cellspacing="1">
                <tr>
                  <td width="133">
                    <div align="left">
                    <table border="0" style="filter: alpha(opacity=100)" width="150" cellspacing="1" cellpadding="0" bgcolor="#000000">
                      <tr><td width="100%" bgcolor="#999966" height="15">
                          <p align="center"><img border="0" src="tage.jpg" width="150" height="18"></p>
                        </td></tr>
                      <tr><td width="100%" bgcolor="#FFFFFF">
                        <iframe src=shout/shout.asp width="150" height="200" id="poruke"></iframe>
                        <table border="0" width="100%" cellspacing="1" cellpadding="0">
                          <tr><td width="100%">


                            </td>
                          </tr>
                          <tr><td width="100%">

                            </td>
                          </tr>
                        </table>
                       

                        </td>
                      </tr>
                    </table>
                    </div>
                  </td>
                </tr>
                <tr>

<!-- Vote frame -->
                </tr>
                <tr>
                  <td width="146" height="15">
                  </td>
                </tr>
                <tr>
                  <td width="146">
                  <div align="right">
                    <table border="0" style="filter:alpha(opacity=100)" width="152" bgcolor="#000000" cellspacing="1" cellpadding="0">
                     
                      <tr>
                        <td width="100%" bgcolor="#FFFFFF" height="105">
                          <div align="center">
                            <center>
                            <table border="0" cellpadding="0" cellspacing="0" width="98%">
                              <tr>
                                <td>
<iframe src=shout/shoutbox.asp width="100%" height="120"></iframe>
</td>
                              </tr>

              </table>
             
              </div>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</div>

<script type="text/javascript">function maxlength(largefield) {if (largefield.value.length>100) {largefield.value = largefield.value.substring(0,100);}}</script>


<script language="JavaScript">

function co(element,mode) {
    if (mode=="in") {
        cursortype = 'hand'
        colorval = '#bbbb88'
    } else if (mode=="out") {
        cursortype = ''
        colorval = '#ffffff'
    }
    element.style.background=colorval;
    element.style.cursor=cursortype;
}



</script>



</body></html>


</script>
Avatar billede desdichado Nybegynder
07. juni 2004 - 14:09 #25
Det ser ud til der ikke bliver postet korrekt til IFRAMEn "poruke", eftersom også "UPIS.ASP" åbner i et nyt vindue, og derefter (korrekt) redirecter til shout.asp

Prøv at lave en <input type="submit"> i stedet for dit link på siden "SHOUTBOX.ASP", og se om det ikke hjælper.
Avatar billede krc_ Nybegynder
07. juni 2004 - 14:16 #26
øvøvøvøvø den gør det samme!
Avatar billede desdichado Nybegynder
07. juni 2004 - 14:19 #27
Så tyder noget jo på at du ikke får adgang til poruke-framen fra dit andet vindue...
Avatar billede krc_ Nybegynder
07. juni 2004 - 14:25 #28
hmm..........øv....
Du kan ikke lige finde et andet trick til at fixe det ?
Avatar billede desdichado Nybegynder
07. juni 2004 - 14:32 #29
Desværre ikke lige umiddelbart.
Avatar billede krc_ Nybegynder
07. juni 2004 - 14:42 #30
damn..........
Nå....må finde på noget andet så !!!
Avatar billede desdichado Nybegynder
07. juni 2004 - 14:47 #31
Du kan evt. prøve at lave koden på UPIS.ASP om så den accepter querystring-input i stedet for forms, og så lave noget javascript på din form-side alá:

<script language="javascript">
  function doSubmit(){
    parent.poruke.location.href='upis.asp?msg='+document.myForm.f_message.value+'&user='+document.myForm.f_username.value;
    document.myForm.f_message.value = '';
    document.myForm.f_username.value = '';
  }
</script>

<form name="myForm" method="post" action="upis.asp" target="poruke">
  <input type="text" name="f_message" value="" />
  <input type="text" name="f_username" value="" />
  <input type="button" id="submitbutton" value="Tilføj" onclick="doSubmit();" />
</form>

Men i bund og grund gør den det samme som den anden, så jeg tror heller ikke det vil virke.
Du bliver nødt til at kigge på hvordan siderne har adgang til hinanden individuelt, og så evt. bygge det op omkring det kode jeg lavede meget længere oppe på siden :)
Avatar billede krc_ Nybegynder
28. juni 2004 - 09:16 #32
Desværre. Har ik fået noget af det til at virke !
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
Kurser inden for grundlæggende programmering

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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging