Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:09 Der er 15 kommentarer og
1 løsning

target div gennem frames - innerHTML

hej eksperter

jeg har en <div id=\"divID\"> i en frame. Jeg bruger denne <div> til at printe en teksstreng, fra et array:

<SCRIPT LANGUAGE=\"JavaScript\">
var description = new Array();
description[0] = \"hjælp\";
description[1] = \"mig\";
description[2] = \"eksperter!\";
</script>

Så kalder jeg den på denne måde:
onMouseEvent=\"divID.innerHTML=description[0];\"

Jeg vil gerne kunne vise en af teksstrengene ved en mouseevent i en anden frame, en den hvor min <div> (og scriptet) ligger. Hvordan gør jeg det?

NB: Mine frames *har* navne, og jeg har forsøgt at fange min <div> med top.frameNavn.divID.innerHTML=description[0] uden held...

/lerchedahl
Avatar billede nikolajdu Nybegynder
07. december 2001 - 10:10 #1
parent.frameNavn.divID.innerHTML
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:18 #2
Nej! \'parent\' går kun eet niveau op, og da jeg har forholdsvist mange framesets nested ind i hinanden går den ikke...

/lerchedahl
Avatar billede nikolajdu Nybegynder
07. december 2001 - 10:20 #3
så top.ramme1.ramme2.getElementById(\'divID\').innerHTML=... ??
Avatar billede olebole Juniormester
07. december 2001 - 10:20 #4
<ole>
Jeg tror ikke, det er muligt at besvare dette spørgsmål uden en URL.
/mvh
</bole>
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:31 #5
nikolajdu >> virker ikke :-(

olebole >> her er mine framesets

<frameset rows=\"40,*,20\">
<frame src=\"top.html\">
<frameset cols=\"160,1,*\">
  <frame src=\"menu.html\">
  <frameset rows=\"20,*,20\">
  <frame src=\"blank.html\">
  <frame src=\"vr.html\">
  <frame src=\"blank.html\">
  </frameset>
  <frameset cols=\"20,*\">
  <frame src=\"blank.html\">
  <frameset rows=\"20,*,20\">
    <frame src=\"bar.html\" name=\"bar\">
    <frameset cols=\"*,10,1,10\">
      <frame name=\"indhold\" src=\"main.html\">
      <frame src=\"blank.html\">
      <frame src=\"vr.html\">
      <frame src=\"blank.html\">
    </frameset>
    <frame src=\"blank.html\">
  </frameset>
  </frameset>
</frameset>
<frame src=\"bund.html\">
</frameset>

min mouseevent ligger i \'menu\' og min <div> ligger i \'bar\'...

/lerchedahl
Avatar billede olebole Juniormester
07. december 2001 - 10:31 #6
function skriv(which) {
  which.innerHTML = description[0];
}

...og så i dit div (hvis din mouseevent\'en ligger direkte på div\'et):

<div onmouseover=\"skriv(this)\"></div>

...eller hvis mouseevent\'en ligger på et link i samme frame, som div\'et:

<a href=\"bla.html\" onmouseover=\"skriv(document.getElementById(\'ib\'));\">Et link</a>
<div id=\"ib\"></div>

/mvh
Avatar billede nikolajdu Nybegynder
07. december 2001 - 10:32 #7
Jamen du har jo slet ikke givet dem nogle navne....
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:33 #8
...jeg er klar over at \'menu\' ikke er \'navnet\' på framen, men det burde ikke betyde ikke noget at den ikke har et navn...
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:36 #9
olebole >> skal funktionen ligge i \'menu\'? Hvis den skal det, hvordan kan den så lokalisere \'ib\', som ligger i en anden frame?
Avatar billede olebole Juniormester
07. december 2001 - 10:37 #10
Vi prøver igen  :o)

function skriv() {
  top.frames[6].document.getElementsById(\"divID\").innerHTML = description[0];
}

...så burde det fungere  ;o)
Avatar billede olebole Juniormester
07. december 2001 - 10:38 #11
Funktionen ligger \'menu\'  ;o)
/mvh
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:44 #12
olebole >> det virker ikke, jeg får \'der opstod en fejl på siden\' i statusbaren...

skal det ikke også være frames[7] ?

og skal jeg kalde den med skriv() eller skriv(this) ?
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:59 #13
nu har jeg bedt browseren om at uddybe scriptfejl, jeg får:

\'Object doesn\'t support this property or method\'

er det fordi min mouseevent ligger på et billede?
Avatar billede olebole Juniormester
07. december 2001 - 11:09 #14
Du bliver nødt til at give mig en URL
/mvh
Avatar billede lerchedahl Nybegynder
07. december 2001 - 12:53 #15
ok, det bliver nok først imorgen eller på mandag, jeg sidder og arbejder med det lokalt...

ellers tak for hjælpen, jeg har set dig ofte herinde, så jeg regner med at du er i nærheden på et senere tidspunkt... :-P

/lerchedahl
Avatar billede olebole Juniormester
07. december 2001 - 13:52 #16
Ups .....så lige, der røg et \'s\' for meget i adressen (getElementsById):

function skriv() {
  top.frames[6].document.getElementById(\"divID\").innerHTML = description[0];
}

...prøv det i stedet  ;o)
/mvh
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