sg14: vom iframe aus ein bild in "haupt"-datei ändern

Hallo zusammen :)
bin nicht ganz so bewandert in js und habe mittlerweile das halbe Internet durchquert, aber keine funktionierende Lösung für mein iframe-Problem gefunden. Ich hoffe ihr könnt mir helfen.

und zwar ... habe ich eine Datei mit einer Tabelle. Diese ist (vereinfacht) wie folgt aufgebaut:

1. Eine Tabellenzeile mit einer Navi (= verschiedene Bilddateien mit unterschiedlichen Navigationszuständen).
2. In der anderen Zeile ist der iframe angelegt.
3. Im iframe wird eine Datei geladen mit einem Button, der eine neue Datei im i-frame aufrufen soll + gleichzeitig eine Bilddatei in der Tabelle der Hauptdatei auswechseln soll (i.S. Aktiv-zustand eines Navigationsbuttons)

In einem Frameset funktioniert das untenstehende javascript.
dazu habe ich in der Frame1-datei für ein Bild eingefügt, welches beim  onMouseOver (hier als test-ersatz für onClick) das Bild in der Frame2-datei wechselt.

In meinem iframe-konstrukt klappt das aber alles nicht.
die Fehlermeldung lautet "parent.frame0.document. ist null oder kein object."

Habe schon alle möglichen Varianten ausprobiert um die Hauptdatei anzusprechen z.B. mit top.frame .... aber nix davon hat funktioniert.

.. wenn jemand eine Lösung dafür weiss, wäre ich riesig dankbar.

susann

.................
datei in frame2:

<html>
 <head>
  <title></title>
  <script language="JavaScript" type="text/javascript"><!--
   if (document.images) {
     bild1 = new Image();
     bild1.src = "images/nlp_n.jpg";
     bild2 = new Image();
     bild2.src = "images/nlp_a.jpg";
   }
  // --></script>
 </head>
 <body>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a onMouseOver="if (document.images) parent.frame0.document.anderesbild.src=bild2.src"
     onMouseOut="if (document.images) parent.frame0.document.anderesbild.src=bild1.src"
     href="#"><img src="images/nen_a.jpg" name="testbild" width="70" height="11" border="0"></a>
</p>
</body>
</html>

  1. hallo,

    und zwar ... habe ich eine Datei mit einer Tabelle. Diese ist (vereinfacht) wie folgt aufgebaut:

    <pädagogischer Zeigefinger on>
    Das heißt, du malträtierst eine Tabelle auf geradezu erbarmungslose Art und stellst ihr Aufgaben, für die Tabellen nun einmal nicht konzipiert sind
    </pädagogischer Zeigefinger off>

    1. Eine Tabellenzeile mit einer Navi (= verschiedene Bilddateien mit unterschiedlichen Navigationszuständen).
    2. In der anderen Zeile ist der iframe angelegt.

    <seufz>
    Klar, das ist die Vorgehensweise, mit der bedauerlich viele Leute ihre ohnehin völlig überforderten Tabellen auch noch vergewaltigen
    </seufz>

    Aber jetzt kommt natürlich noch eine Anmerkung, die dich nach diesen niederschmetternden und arroganten Anmerkungen wieder aufbauen dürfte:

    In einem Frameset funktioniert das untenstehende javascript.
    In meinem iframe-konstrukt klappt das aber alles nicht.
    die Fehlermeldung lautet "parent.frame0.document. ist null oder kein object."

    Siehst du es denn nicht? "parent.frame0..." würde in einem Frameset dazu führen, daß sich in dem Frame mit dem Namen "frame0" irgendetwas tut. Du hast aber kein "Frameset", sondern nur ein iFrame, und "parent.frame0" bezieht sich folglich worauf? ... richtig, jedenfalls nicht auf den Namen eines anderen Frames ;-)

    Habe schon alle möglichen Varianten ausprobiert um die Hauptdatei anzusprechen z.B. mit top.frame

    Da "top" kein Frameset ist, gibts halt darin auch kein "frame". Alles klar?

    Grüße aus Berlin

    Christoph S.

    1. Hi, erst mal besten dank Christoph, dass du dich meines Problems angenommen hast.

      ...ok verstehe, dass meine "iframe-tabelle" nicht wie ein Frameset funktioniert.
      einige deiner Anmerkungen sind mir jedoch nicht ganz klar:

      1.

      Da "top" kein Frameset ist, gibts halt darin auch kein "frame". Alles klar?

      wie spreche ich dann vom meinem iframe aus das Bild in der Haupttabelle an?

      2.

      Klar, das ist die Vorgehensweise, mit der bedauerlich viele Leute ihre ohnehin völlig überforderten Tabellen auch noch vergewaltigen

      wie würdest du dann die Konstruktion lösen ... über Frames?

      susann

    1. Eine Tabellenzeile mit einer Navi (= verschiedene Bilddateien mit unterschiedlichen Navigationszuständen).
    2. In der anderen Zeile ist der iframe angelegt.
    3. Im iframe wird eine Datei geladen mit einem Button, der eine neue Datei im i-frame aufrufen soll + gleichzeitig eine Bilddatei in der Tabelle der Hauptdatei auswechseln soll (i.S. Aktiv-zustand eines Navigationsbuttons)

    Der untenstehende Link befinde sich in der HTML-Datei des Iframe:
    <a href="xyz.htm" onclick="parent.bildwechsel()">link</a>
    Die Funktion "bildwechsel()" befindet sich im Elternfenster und bewirkt dann dort irgendwas.
    Die Datei xyz.htm wird in den Iframe geladen.
    So müßte das gehen.
    Gruß Frodo

    1. Besten Dank Frodo für Deine Hilfe! Es hat suuuper geklappt!

      Wie du gesagt hast: habe die Funktion  "bildwechsel()" im Elternfenster und den Aufruf in der iframe-Datei gelegt .... musste nur noch in der iframe-Datei, die zu wechselnden Bilder deklarieren
      ... und dann hat's funktioniert.

      *freu*
      susann