Avatar billede peturkirke Novice
27. september 2003 - 19:42 Der er 13 kommentarer og
1 løsning

is null or not an object

jeg får denne fejl på min side:

top.indhold.document.getElementById()' is null or not an object

hvad skyldes den ?
Avatar billede skovenborg Nybegynder
27. september 2003 - 19:48 #1
at objektet ikke findes
Avatar billede skovenborg Nybegynder
27. september 2003 - 19:49 #2
getElementById kræver desuden et argument, som er id'en:
top.indhold.document.getElementById('idnavn')
Avatar billede peturkirke Novice
27. september 2003 - 19:52 #3
jeg har 2 frames. På den ene side skriver jeg:

top.indhold.document.getElementById("Indhold").innerHTML = StrIndhold;

og den anden side ser således ud:

<html>
<head>
</head>
<body>
  <table border="0" width="90%" cellspacing="0" cellpadding="0">
    <tr>
      <td width="100%" valign="top" colspan="2">
<DIV id="Indhold"></DIV>
      </td>
    </tr>
  </table>
</body>
</html>

burde dette ikke fungere ?
det ser også ud som om det fungerer somme tider, men så kommer denne dumme fejl igen
Avatar billede skovenborg Nybegynder
27. september 2003 - 19:57 #4
prøv at skrive parent.indhold.document.getElementById("indhold").innerHTML

det kan også være en konflikt mellem dit framenavn og dit id-navn (begge hedder indhold).
Avatar billede peturkirke Novice
27. september 2003 - 20:04 #5
har prøvet - det hjælper ikke
har også ændret id-navnet til "hold", men det hjælper heller ikke
Avatar billede skovenborg Nybegynder
27. september 2003 - 20:23 #6
hvornår kalder du top.indhold.getElementById(......???

Nogle gange kan det nemlig give problemmer hvis du fx kalder den ved onLoad i frames. Dette skyldes at den frame du vil skrive noget i, måske ikke selv er loadet færdig.
Avatar billede peturkirke Novice
27. september 2003 - 23:55 #7
ja det er lige det, der er galt - nemlig at jeg kalder den i onLoad.

men hvordan løser jeg så problemet ? hvilket alternativ er der ?
Avatar billede peturkirke Novice
28. september 2003 - 00:21 #8
kan man bestemme hvilken frame der først skal loades o.s.v. ?
Avatar billede skovenborg Nybegynder
28. september 2003 - 00:29 #9
jeg vil prøve at se på det i morgen - men nu må jeg altså i seng. Hvis intet lige virker, så kan du komme af med fejlen ved at skrive:
Siden hvor du skriver indhold:
<html>
<head>
<script type="text/javascript">
function foo()
{
if (parent.indhold.document.getElementById("Indhold")) parent.indhold.document.getElementById("Indhold").innerHTML = "TEST";
else;
}

</script>
</head>
<body onload="foo();">
</body>
</html>
Avatar billede skovenborg Nybegynder
28. september 2003 - 00:30 #10
så tester den først om objektet eksisterer, og hvis den gør så skriver den indholdet ud.
Alternativt kan du også prøve med en timeout funktion.
Avatar billede roenving Novice
28. september 2003 - 08:45 #11
Du kan bruge onload for frameset'et ...

<frameset onload="top.indhold.document.getElementById('Indhold').innerHTML = StrIndhold;"

-- eller bruge skovenborgs med en:

<html>
<head>
<script type="text/javascript">
function foo()
{
if (parent.indhold.document.getElementById("Indhold")){ parent.indhold.document.getElementById("Indhold").innerHTML = "TEST";
clearInterval(int);
}
}

</script>
</head>
<body onload="int=setInterval('foo()',100);">
</body>
</html>
Avatar billede peturkirke Novice
29. september 2003 - 00:17 #12
omsider ser det ud til at noget fungerer, og det er den der med setInterval, men teksten bliver kun stående i et sekund, og så forsvinder den igen. Hvorfor ?
Avatar billede peturkirke Novice
29. september 2003 - 01:17 #13
det ser ud til at fungere nu
jeg ved ikke lige akkurat hvad det var der hjalp, men min kode var nok lidt rodet
hvis skovenborg skriver et svar, så gir jeg poeng
tak til alle for hjælpen
Avatar billede skovenborg Nybegynder
29. september 2003 - 16:29 #14
jamen så lad gå ;-)
Nu glemte jeg desværre at skrive tilbage, men nu er det jo løst.
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