iframe Name als Array -> Fehler NULL oder kein Objekt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • iframe Name als Array -> Fehler NULL oder kein Objekt

    Ich möchte mehrere Editoren mit iframe dynamisch erzeugen(im Test erstmal noch statisch), ich dachte ich benenne sie als Array, das funktioniert auch, leider funktioniert der Zugriff auf diese dann nicht:

    Code:
    <frame>
    <iframe name="editor[0]" id="editor[0]" width="400" height="500"></iframe><br>
    <iframe name="editor[1]" id="editor[1]" width="400" height="500"></iframe><br>
    <iframe name="editor[2]" id="editor[2]" width="400" height="500"></iframe><br>
    <script>
    frames.editor[0].document.designMode = "On";
    frames.editor[1].document.designMode = "On";
    frames.editor[2].document.designMode = "On";
    </script>
    
    </frame>
    Fehlermeldung: 'frames.editor.0' ist NULL oder kein Objekt

    Der Zugriff auf einen Editor mit "normalem" Namen funktioniert so, also:

    Code:
    <frame>
    <iframe name="editor" id="editor" width="400" height="500"></iframe><br>
    <script>
    frames.editor.document.designMode = "On";
    </script>
    
    </frame>

    leider habe ich keine Idee, wie der Zugriff bei dieser Variante dann funktionieren soll.

  • #2
    Clevere Idee - geht aber nicht.

    Nenn sie "Editor0", "Editor1" und so weiter. Zähle in einer Schleife durch und bastel Dir dann die Namen mit getElementById("Editor" + variable) zusammen.

    Kommentar


    • #3
      Moin, vielleicht hilft dir das ja weiter?
      PHP-Code:
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <
      html xmlns="http://www.w3.org/1999/xhtml">
      <
      head>
      <
      meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <
      title>Unbenanntes Dokument</title>

      <
      script type="text/javascript">
      function 
      setFrameDesignMode(strMode)
      {
          var 
      objList document.getElementsByTagName('iframe');
          var 
      strFrmName null;
          
          for ( var 
      0objList.lengthi++ )
          {
              
      strFrmName objList[i].name;
              if ( 
      strFrmName.indexOf('editor') != -)
                  
      window.frames[strFrmName].document.designMode strMode;
          }
      }
      </
      script>

      </
      head>

      <
      body onload="setFrameDesignMode('On');">

      <
      iframe name="editor[0]" id="editor[0]" width="400" height="200"></iframe><br>
      <
      iframe name="editor[1]" id="editor[1]" width="400" height="200"></iframe><br>
      <
      iframe name="editor[2]" id="editor[2]" width="400" height="200"></iframe><br>


      </
      body>
      </
      html

      Kommentar


      • #4
        window.frames['Editor['+num+']'] ist euch allen wieder mal zu einfach, oder ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Danke!
          Ich habs jetzt nach pekkas Vorschlag gelöst, vorerst funktionierts so, wenn ichs später doch unbedingt als Array brauche, kann ich ja auf die anderen Vorschläge zurückgreifen.

          Kommentar

          Lädt...
          X