Avatar billede mbl Juniormester
11. juli 2002 - 11:24 Der er 22 kommentarer og
1 løsning

Opdatere i frame 1, visse værdi i frame 2

Hvordan kan jeg få "Frame venstre" variablen "afrundet" overført til "Frame højre". Det skal gerne være sådan at "Frame venstre" opdatere løbende hvert 5 sekundt men det er "Frame højre" der skal visse værdien.

---------------Frames-----------------------------------
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 1</title>
</head>

<frameset cols="*,*">
  <frame name="venstre" src="ny_side_4.htm">
  <frame name="højre" src="ny_side_3.htm">
  <noframes>
  <body>

  <p>Denne Web-side bruger rammer, og din browser understøtter ikke rammer.</p>

  </body>
  </noframes>
</frameset>
</html>

------------------Frame venstre-------------------------
<html>
<head>
<meta http-equiv="refresh" content="5">
</head>
<body>
<script type='text/javascript'> // afrunding
variabel = (25.513)
var uafrundet = parseFloat( variabel );
var afrundet = Math.round( uafrundet*10 ) /10;
variabel.value = afrundet;
</script>
<table border="1" width="10%">
<tr>
<script type='text/javascript'>
document.write('<td width=\"10%\">'+afrundet+'</td>')
</script>
</tr>
</table>
</body>
</html>
-------------------Frame højre--------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 3</title>
</head>
<body>
</body>
</html>
Avatar billede bamzen Nybegynder
11. juli 2002 - 11:58 #1
Hvor denne linie står:

document.write('<td width=\"10%\">'+afrundet+'</td>')

Skriv:

var tempHTML = '<HTML>\n<HEAD></HEAD>\n<BODY>\n<TABLE>\n<TR><TD>'
tempHTML += afrundet
tempHTML += '</TD></TR>\n</TABLE>\n</BODY>\n</HTML>'
top.document.frames["hoejre"].document.write(tempHTML)

Desuden burde du skifte framenavnet højre ud med hoejre, da nogle browsere har svært med special karakterer som æ,ø og å

Så når du har skriftet denne linie:

<frame name="højre" src="ny_side_3.htm">

ud med

<frame name="hoejre" src="ny_side_3.htm">

Så skulle det hele virke!

/Martin
Avatar billede bamzen Nybegynder
11. juli 2002 - 12:00 #2
Et alternativ til sætningen

top.document.frames["hoejre"].document.write(tempHTML)

er at bruge framens nummer i dom-frames array'et (starter ved 0)

top.document.frames[1].document.write(tempHTML) // 1 fordi det er frame 2 du vil ændre

/Martin
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 12:00 #3
Du må ikke bruge æøå i navnen, så lav det lige om  til :

<frame name="hojre" src="ny_side_3.htm">

I venstre sådan her :

<html>
<head>
<meta http-equiv="refresh" content="5">
<script>
function skiftDu(){
parent.hojre.documen.getElementById('indHer').innerTEXT = afrundet
setTimeout("skiftDu()",5000)
}
</script>
</head>
<body onload="skiftDu()">
<script type='text/javascript'>
// afrunding
variabel = (25.513)
var uafrundet = parseFloat( variabel );
var afrundet = Math.round( uafrundet*10 ) /10;
variabel.value = afrundet;
</script>

<table border="1" width="10%">
<tr>
<script type='text/javascript'>
document.write('<td width=\"10%\">'+afrundet+'</td>')
</script>
</tr>
</table>
</body>
</html>

og hojre sådan her:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 3</title>
</head>
<body>
<div id="indHer"></div>
</body>
</html>

/Nikolaj
Avatar billede mbl Juniormester
11. juli 2002 - 12:53 #4
Til bamzen: Der er et lille problem med denne løsning idet den skriver en ny værdi under hinanden og det bliver den ved med, er det muligt at få den til at skrive til et og samme <td>xxx</td> stadig i højre side.

Til nikolajdu: Den løsning du kommer med, visser sin værdi i venstre side  og ikke som ønsket i højre side. Er der eventuelt et løsningsforslag på dette. Kan det være rigtigt at der skal indsættes denne linie i <head> "<meta http-equiv="refresh" content="5">". idet det ser ud til at du laver en funktion med en tid på 5 sek.
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 13:39 #5
viser en værdi i venstre side?? Det er vel bare væk med den her så :

<table border="1" width="10%">
<tr>
<script type='text/javascript'>
document.write('<td width=\"10%\">'+afrundet+'</td>')
</script>
</tr>
</table>
Avatar billede mbl Juniormester
11. juli 2002 - 13:47 #6
Ja ved at slette disse linier så forsvinder den rigtig nok i venstre side men der kommer ikke noget frem i højre side. Hvorfor ikke???
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 13:50 #7
Hov hov my bad...

parent.hojre.documen.getElementById('indHer').innerTEXT = afrundet

mangler et T i document

parent.hojre.document.getElementById('indHer').innerTEXT = afrundet

Og husk at skrive <frame name="hojre" src="ny_side_3.htm">

altså name="hojre"

/Nikolaj
Avatar billede mbl Juniormester
11. juli 2002 - 14:20 #8
Jeg må være dummer end andre folks børn men det vil altså ikke virke. Håber at du har lidt mere tålmodighed med mig. Indsætter kopi af kode.

Frames siden ----------------------
<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 2</title>
</head>

<frameset cols="*,*">
  <frame name="venstre" src="venstre.htm" scrolling="no">
  <frame name="hojre" src="hojre.htm" scrolling="no">
  <noframes>
  <body>

  <p>Denne Web-side bruger rammer, og din browser understøtter ikke rammer.</p>

  </body>
  </noframes>
</frameset>

</html>


Venstre side: ----------------------

<html>
<head>
<meta http-equiv="refresh" content="5">
<script>
function skiftDu(){
parent.hojre.document.getElementById('indHer').innerTEXT = afrundet
setTimeout("skiftDu()",5000)
}
</script>
</head>
<body onload="skiftDu()">
<script type='text/javascript'>
// afrunding
variabel = (25.513)
var uafrundet = parseFloat( variabel );
var afrundet = Math.round( uafrundet*10 ) /10;
variabel.value = afrundet;
</script>


</body>
</html>

hojre side -------------------------

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 3</title>
</head>
<body>
<div id="indHer"></div>
</body>
</html>
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 14:27 #9
ret min innerTEXT til innerHTML, så virker det hos mig. Forstår nu ikke at innerTEXT ikke dutter...
Avatar billede mbl Juniormester
11. juli 2002 - 14:38 #10
Til nikolajdu: Først tak for den tålmodighed som du udviser når du hjælper os nybegynder. Et tillægsspørgsmål. Hvorfor 2 tidsfunktioner ???, eller er det bare mig der er tosset.

<head>
<meta http-equiv="refresh" content="5">
<script>
function skiftDu(){
parent.hojre.documen.getElementById('indHer').innerTEXT = afrundet
setTimeout("skiftDu()",5000)
}
</script>
</head>
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 14:40 #11
hov hov.... den meta skal du lige bøffe af vejen...
Avatar billede mbl Juniormester
11. juli 2002 - 15:24 #12
Så er jeg her igen. Ved at fjerne meta delen virker den kun når den ligger på en lokal maskine, og den virker ikke når jeg ligger den ud på en server. Hvorfor ikke ????
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 15:30 #13
hov hov. Det skal altså virke. Det kan være fordi du skriver : c://minside.html.... og altså linker til din harddisk...
Avatar billede mbl Juniormester
11. juli 2002 - 15:41 #14
Nej, jeg har ikke nogen henvisninger til min harddisk så der må være noget andet galt. Men hvad ???

Hvis jeg lader meta delen blive så virker den også på server. Men igen der bruges 2 tids opdateringer og det burde ikke være nødvendigt
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 15:49 #15
nej det skulle ikke være nødvendigt. Det virker altså hos mig.
Avatar billede mbl Juniormester
11. juli 2002 - 16:09 #16
jeg har prøvet at kigge under side egenskaber for siderne venstre og hojre og jeg kan se at den henter siderne fra.

file:///C:/Mickey/test/frames nikolajdu/venstre.htm
file:///C:/Mickey/test/frames nikolajdu/hojre.htm

Disse tekst er ikke nogen jeg har skrevet og kan heller ikke rette i disse. Du nævner at den kører hos dig og det er både lokalt og på en server.
Avatar billede mbl Juniormester
11. juli 2002 - 16:12 #17
"file:///C:/Mickey/test/frames nikolajdu/venstre.htm"
"file:///C:/Mickey/test/frames nikolajdu/hojre.htm"
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 16:12 #18
Jamen se det var jo det jeg skrev.... Du linker jo netop til C på din egen maskine og ikke til stien på serveren :))
Avatar billede mbl Juniormester
11. juli 2002 - 16:15 #19
Hvordan kan det rettes??
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 16:18 #20
Du retter det jo bare til den rigtige sti - Det er kun dig der kender den.

Du kan ihvertilfald starte med at fjerne : file:///C:/Mickey/test/frames/nikolajdu/

Og så se om det ikke hjælper...
Avatar billede mbl Juniormester
11. juli 2002 - 16:25 #21
Takker endnu en gang. Det er som sagt ikke en sti jeg kan skrive eller rette i. Jeg har dog en anden mulighed som jeg lige vil prøve og håber at jeg på et senere tidspunkt kan oplyse dig om hvad jeg er kommet frem til.
Avatar billede nikolajdu Nybegynder
11. juli 2002 - 16:32 #22
oki doki :))
Avatar billede benzon Praktikant
26. august 2003 - 03:19 #23
setTimeout("skiftDu()",5000) <-- den der virker ikke helt fint ;) Løste det faktisk med at ændre en smule hehe

<script>
function skiftDu(){
parent.hojre.document.getElementById('indHer').innerHTML = variabel
}
setTimeout('self.location.reload(true);', 5000);
</script>

har godt nok lavet lidt om da jeg skulle bruge til noget andet men hey :D
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