DerEbbe: Iframe aus einem Frame heraus ansprechen

hallo leute,

ich habe einen frame, in diesen befindet sich ein iframe. im iframe befindet sich eine seite mit einem formular und einigen feldern.

ich möchte nurn aus dem frame heraus die daten eines feldes des sich im iframe befindlichen forumlars ändern, z.b. so:

document.frames['IFRAME'].forms['FORMULAR'].elements['FELD'].value = 'Test';

nur leider erreiche ich dieses Feld im Formular nie, wer kann mir helfen?

Der iframe heisst bei mir "SNnews", das forumlar "form1" und das feld "author"

DANKE IM VORRAUS UND IST WIRKLICH DRINGEND :D

  1. hallo DerEbbe,

    mal folgenden Link sichten http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm

    Gruß aus Berlin!
    eddi

    1. hallo DerEbbe,

      mal folgenden Link sichten http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm

      ja hm... soweit war ich auch schon...

      das funktioniert auch nicht:

      self.frames['IFRAME'].forms['FORMULAR'].elements['TEXTFELD'].value = "Wert"

      1. hallo DerEbbe,

        mal folgenden Link sichten http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm

        ja hm... soweit war ich auch schon...

        das funktioniert auch nicht:

        self.frames['IFRAME'].forms['FORMULAR'].elements['TEXTFELD'].value = "Wert"

        mit self referenzierst Du auf das Objekt window. window hat kein Unterobjekt forms, wohl aber document. Daher steht auch in dem Tips&Tricks-Artikel immer wieder parent.location.href und nicht parent.href!

        Gruß aus Berlin!
        eddi

  2. Hallo DerEbbe,

    ich habe einen frame, in diesen befindet sich ein iframe. im iframe befindet sich eine seite mit einem formular und einigen feldern.

    ich möchte nurn aus dem frame heraus die daten eines feldes des sich im iframe befindlichen forumlars ändern, z.b. so:

    document.frames['IFRAME'].forms['FORMULAR'].elements['FELD'].value = 'Test';

    Wenn du da__________________^ noch ein "document." dazwischensetzt, geht es im MSIE wahrscheinlich schon.

    Wenn dir die anderen Browser auch wichtig sind, folge Wahsagas Hinweis, wobei du auch dort nicht vergessen darfst, noch einemal "document." vor dein "forms" zu schreiben.

    Gruß Gernot

    1. leider funktioniert es nicht... weder IE noch Firefox (btw: den bevorzuge ich)

      Also nochmal:

      iFrame Name:   SNnews
      Form Name:     form1
      Textfeld Name: author

      document.frames['SNnews'].document.forms['form1'].elements['author'].value = 'Test'; >> tut es nicht :(

      1. Hallo DerEbbe,

        document.frames['SNnews'].document.forms['form1'].elements['author'].value = 'Test'; >> tut es nicht :(

        sieh Dir bitte mal ab http://de.selfhtml.org/javascript/objekte/window.htm insbesondere http://de.selfhtml.org/javascript/objekte/window.htm#allgemeines alle Unterobjekte an, vergleiche mit http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm, dann wird sicher der Knoten platzen ;)

        Gruß aus Berlin!
        eddi

      2. Hallo DerEbbe,

        leider funktioniert es nicht... weder IE noch Firefox (btw: den bevorzuge ich)

        document.frames['SNnews'].document.forms['form1'].elements['author'].value = 'Test'; >> tut es nicht :(

        Habe ich dich bei deinem Ausgangsposting richtig verstanden, dass der Iframe seinerseits wieder in einem Frame eines Framesets liegt? Dann kommt es immer darauf an, ob dieser direkte Elternframe auch gerade den Focus hat. Wird denn diese Aktion überhaupt von dem direkten Parent-Frame aus gestartet?

        Gruß Gernot

        1. der befehl wird vom parent frame des iframes gestartet... ausgeführt wird er, IE und Firefox spucken ja eine Fehelermeldung aus...

          hier die strukur:

          TOP

          LINK
          MITTE (hier liegt das JS)

          IFRAME (Name = "SNnews" , id = "SNnews)

          [FORUMLAR] (Name = "form1")
              TextFeld (name = "author")

          RECHT

          also IFRAME soll von MITTE aus erreicht werden. In Mitte liegt das Formular...

          Grüße aus Düsseldorf

          1. hi,

            TOP

            LINK
            MITTE (hier liegt das JS)

            IFRAME (Name = "SNnews" , id = "SNnews)
               [FORUMLAR] (Name = "form1")
                TextFeld (name = "author")
            RECHT

            also IFRAME soll von MITTE aus erreicht werden. In Mitte liegt das Formular...

            und worin liegt der iframe? sieht nach der skizze so aus, als ob der auch in MITTE liegt.

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. ja er liegt auch in der Mitte

          2. der befehl wird vom parent frame des iframes gestartet... ausgeführt wird er, IE und Firefox spucken ja eine Fehelermeldung aus...

            hier die strukur:

            TOP

            LINK
            MITTE (hier liegt das JS)

            IFRAME (Name = "SNnews" , id = "SNnews)
               [FORUMLAR] (Name = "form1")
                TextFeld (name = "author")
            RECHT

            also IFRAME soll von MITTE aus erreicht werden. In Mitte liegt das Formular...

            Laut dem Schema oben und auch anderen Verlautbarungen soll das Formular doch in SNnews liegen?!

            <html>
            <head>
            <title>Objekt</title>
            <script>
            function machwas()
             {
             window.setTimeout(alert(self.NSnews.document.getElementsByTagName('body')[0].innerHTML),2000)
             }
            </script>
            </head>
            <body onLoad='machwas()'>
            <iframe width=900 height=200 src='test2.html' name='NSnews'></iframe>
            </body>
            </html>

            ######### test2.html ##########

            <html>
            <head>
            <title>test</title>
            <script>
            function mach(){alert('ja');}
            </script>
            </head>
            <body>
            <b onClick=''>test</b>
            </body>
            </html>

            Erfüllt bei mir jedenfalls voll seinen zweck und ich bekomme "<b onClick=''>test</b>" angezeigt.

            Gruß aus Berlin!
            eddi

            1. vieln vielen dank, nach dem ich die anweisung in eine funktion gepackt habe und diese als onLoad ausführen lies, funktioniert es ^^

              was ne' geburt

              lg aus Düsseldorf bzw. Wattenscheid

    2. Wenn dir die anderen Browser auch wichtig sind, folge Wahsagas Hinweis,

      Ich meinete wohl Eddis (XaraX) Hinweis. Sorry

      1. Hallo.

        Wenn dir die anderen Browser auch wichtig sind, folge Wahsagas Hinweis,

        Ich meinete wohl Eddis (XaraX) Hinweis. Sorry

        Und ich wollte mich gerade wundern, dass du in die Zukunft sehen könntest.
        MfG, at