Avatar billede 13thsky Nybegynder
13. oktober 2005 - 14:20 Der er 12 kommentarer og
1 løsning

printe variabel fra anden siden, uden at opdatere

Jeg har en side (index.php) med et iframe i.
Iframet er skjult og indeholder:
<script>
tekstvar = "hej hej hej";
</script>

Variablen tekstvar, ændrer sig hele tiden.

I index.php vil jeg gerne have at den printer tekstvar ud, men uden at siden skal refreshes.
Iframet refresher hele tiden og det er ok.
Avatar billede roenving Novice
13. oktober 2005 - 14:25 #1
<script type="text/javascript">
tekstvar = "hej hej hej";
window.onload = function(){
  parent.document.getElementById("minTekst").firstChild.nodeValue = tekstvar;
}
</script>

-- her har jeg regnet med en div eller span, som f.eks. ser sådan ud:

<div id="minTekst">nbsp;</div>
Avatar billede 13thsky Nybegynder
13. oktober 2005 - 14:27 #2
ok, men hvordan ved index.php at den skal hente tekstvar fra iframet, som i øvrigt hedder content.php ?
Avatar billede roenving Novice
13. oktober 2005 - 14:32 #3
Det gøres automatisk hver gang iframen reloades !-)

-- prøv det !o]
Avatar billede mahler Nybegynder
13. oktober 2005 - 14:37 #4
Hvis du ikke vil have en iframe, kan du også lave det som Ajax...

Se event:
http://netfactory.dk/technology/markup/javascript/xmlhttp/get_string.html
Avatar billede 13thsky Nybegynder
13. oktober 2005 - 14:51 #5
hmmm, den melder fejl i scriptet når jeg oploader følgende:


              <html>
              <head>
<script type="text/javascript">
tekstvar = "hej hej hej";
window.onload = function(){
  parent.document.getElementById("minTekst").firstChild.nodeValue = tekstvar;
  window.onload=function(){setTimeout("location.reload(true);",4000);}
}
</script>
</head>
<body>
</body>
</html>
Avatar billede 13thsky Nybegynder
13. oktober 2005 - 14:52 #6
Nej, den melder fejl på det her:


              <html>
              <head>
<script type="text/javascript">
tekstvar = "hej hej hej";
window.onload = function(){
  parent.document.getElementById("minTekst").firstChild.nodeValue = tekstvar;
  setTimeout("location.reload(true);",4000);
}
</script>
</head>
<body>
</body>
</html>
Avatar billede 13thsky Nybegynder
13. oktober 2005 - 14:53 #7
Hey hey... Det virker sq...
Alt det hele skulle bare op samtidg...

Takker roenvig, drop et svar
Avatar billede roenving Novice
13. oktober 2005 - 15:01 #8
Selvfølgelig, for du har jo også forskellige onloads nestet:

<script type="text/javascript">
tekstvar = "hej hej hej";
window.onload = function(){
  parent.document.getElementById("minTekst").firstChild.nodeValue = tekstvar;
  setTimeout("location.reload(true);",4000);
}
</script>
Avatar billede roenving Novice
13. oktober 2005 - 15:02 #9
*lol*

-- der kom lige en samtale, men så havde du selv repareret !-)

Velbekomme '-)
Avatar billede 13thsky Nybegynder
13. oktober 2005 - 15:20 #10
uh, lige et sidste spørgsmål.
Hvis nu min tekstvar = "<b>hej</b>";

hvordan får jeg den til at registrere det som html og ikke blot tekst, som den gør nu?
Avatar billede roenving Novice
13. oktober 2005 - 15:22 #11
Så bliver det ikke så fremtidssikret, men f.eks.

<script type="text/javascript">
tekstvar = "<b>hej</b>";
window.onload = function(){
  parent.document.getElementById("minTekst").innerHTML = tekstvar;
  setTimeout("location.reload(true);",4000);
}
</script>

-- denne vil så ikke virke under xhtml, det vil den anden !-)
Avatar billede 13thsky Nybegynder
13. oktober 2005 - 15:41 #12
takker mange gange
Avatar billede roenving Novice
13. oktober 2005 - 15:44 #13
-- og jeg takker 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