Florian Gunkel: HILFE! Problem bei frames!!

Hallo,

Ich möchte folgendes machen: Ich mochte mit einem Click auf einen "Link" in einem Navigationsframe zwei andere Frames in demselben frameset aktualisiern,z.B:

onClick="parent.frames[1].document.open;
         parent.frames[1].document.write('hallo_1');
         parent.frames[1].document.close;
         parent.frames[2].document.open;
         parent.frames[2].document.write('hallo_2';
         parent.frames[2].document.close;"

Nun möchte ich auf einen anderen Link in dem Navigationsframe clicken und in den frames [1] und [2] sollen die vorherigen sachen verschwinden und andere sachen auftauchen. wie bekomme ich das hallo_1 und das hallo_2 wieder weg???

  1. Hi,

    onClick="parent.frames[1].document.open;

    wenn der Frame existiert, ein document hat und dies über eine Methode, Eigenschaft oder Unterobjekt namens "open" verfügt, erzeugt dies keinen Fehler. Das ist alles, was passiert. Wenn Du möchtest, dass die Methode ausgeführt wird, musst Du "...open()" mit runden Klammern notieren. Für alle anderen Methoden gilt entsprechendes.

    wie bekomme ich das hallo_1 und das hallo_2 wieder weg???

    Genau so, wie Du sie hinbekommen hast: überschreiben.

    Cheatah

    1. Genau so, wie Du sie hinbekommen hast: überschreiben.

      Ja, ist mir klar, ich würde das ja gerne überschreiben, aber wenn ich jetzt was anderes anclicke, woraufhin wieder was anderes in das document von dem Frame hineingeschrieben wird, dann bleibt das alte hallo_1 und hallo_2 drin und das neue schreibt sich einfach dahinter.

      1. Hi,

        Ja, ist mir klar, ich würde das ja gerne überschreiben, aber wenn [...]

        auf die Fehler in Deinem Beispielcode habe ich Dich hingewiesen. Der Code tut _nicht_ das, was Du von ihm erwartest. Korrigiere ihn - wenn das Problem dann bestehen bleibt lohnt es sich, weiter darüber nachzudenken.

        Cheatah

        1. Danke für den nochmaligen Hinweis, jetzt funktionierts endlich. Habe einfach nicht gedacht, das diese dummen Klammern das bewirken.