Mirko Hansen: DIV-Feld lässt sich nicht setzen

Hallo Leutz!

Habe ein kleines Problem mit einem DIV-Feld. Und zwar lässt meine Seite zwei ineinander geschachtelte DIV-Felder dynamisch erstellen. Das Ganze sieht etwa so aus:

----------

var initHTML = '<div id="mCtRoomSelect" style="position:absolute; left:0px; top:0px; width:' + (document.body.offsetWidth-4) +'px; height:' + (document.body.offsetHeight-4) +'px; z-index:99"><div id="mCtRSSelect" style="letter-spacing:0.2em;font-family:verdana;font-size:12px"></div></div>';

document.write(initHTML);

----------

So, das klappt auch, nur jetzt möchte ich dem inneren der beiden DIV-Felder seinen Inhalt zuweisen. Also gibt es eine Funktion die macht folgendes:

----------

var Inhalt = 'BlaBlaBla';

document.all.mCtRSSelect.innerHTML = Inhalt;

----------

... doch leider streikt dabei der Internet Explorer jedes mal. Er sagt mir dann immer, dass das Objekt null wäre oder nicht gefunden werden würde. Hat jemand für dieses Verhalten eine Erklärung oder einen Tip wie ich diesen Fehler beseitigen kann? Leider gibt es auch nicht die Möglichkeit das Doppel-DIV-Feld zu umgehen.

Danke schonmal für Antworten,

Mirko Hansen

  1. Hi,

    ... doch leider streikt dabei der Internet Explorer jedes mal. Er sagt mir dann immer, dass das Objekt null wäre oder nicht gefunden werden würde. Hat jemand für dieses Verhalten eine Erklärung oder einen Tip wie ich diesen Fehler beseitigen kann? Leider gibt es auch nicht die Möglichkeit das Doppel-DIV-Feld zu umgehen.

    Ich kann nur sagen, dass der angegebene Code bei mir funktioniert (IE 5.5/WIN98) - es wird eine schöne (fast) leere Seite angezeigt mit B l a B l a B l a oben rechts im Eck - und laut generierter HTML-Ausgabe steht das auch brav im zweiten DIV.

    Liebe Gruesse aus Oesterreich
    Martin

    1. Re-Hi!

      Also danke erstmal für die Antwort. Mir ist gerade aufgefallen, dass diese abgespeckte Version die ich hier gepostet habe tatsächlich funktioniert. Na gut da werde ich wohl doch noch die komplette Variante posten müssen ... :-(

      index.htm:
      -------------
      <HTML>
      <HEAD>
      <TITLE>Chat</TITLE>
      <script language="JavaScript">
      <!--
       UserID    = "1";
       UserBrowser = "ie55";

      Rooms = "";
      //-->
      </script>
      </HEAD>

      <BODY SCROLL=no MARGINWIDTH=0 MARGINHEIGHT=0>

      <script language="JavaScript" src="initcontent.js"></script>
      <script language="JavaScript" src="rooms.js"></script>

      <script language="JavaScript">
      <!--
       document.all.mCtLoad.style.display="none";
       ShowRoomSelect();
       LoadRooms('Testraum1$1$0|Testraum2$2$0');
      //-->
      </script>

      </BODY>
      </HTML>
      -------------

      initcontent.js:
      -------------
      mCtRoomSelectHTML ='<div id="mCtRSAbort" style="visibility:hidden; left:0px; top:0px"><a href="javascript:HideSelectRoom()">Zurück</a></div>';
      mCtRoomSelectHTML+='<div id="mCtRSSelect" style="letter-spacing:0.2em;font-family:verdana;font-size:12px"></div>';

      w=(document.body.offsetWidth/2)-10;
      h=(document.body.offsetHeight/2)-12;

      initmCtLoadHTML ='<div id=mCtLLoader style="position:absolute;left:' + (w-100) + 'px;top:' + (h-50) + 'px;width:300px;z-Index:99">';
      initmCtLoadHTML+='<div align=center  style="letter-spacing:0.2em;font-family:verdana;font-size:12px;">';
      initmCtLoadHTML+='Kleinen Moment ...<br>Der Chat wird geladen';
      initmCtLoadHTML+='</div></div>';

      initHTML ='<div id="mCtRoomSelect" style="position:absolute; left:0px; top:0px; width:' + (document.body.offsetWidth-4) +'px; height:' + (document.body.offsetHeight-4) +'px; z-index:99">' + mCtRoomSelectHTML + '</div>';
      initHTML+='<div id="mCtLoad" style="position:absolute; left:0px; top:0px; width:' + (document.body.offsetWidth-4) +'px; height:' + (document.body.offsetHeight-4) +'px; z-index:99">' + initmCtLoadHTML + '</div>';

      document.write(initHTML);

      -------------

      rooms.js:
      -------------
      function ShowRoomSelect() {

      mCtRoomSelectHTML ='<div id=mCtRSLoader style="position:absolute;left:' + (w-100) + 'px;top:' + (h-50) + 'px;width:300px;z-Index:99">';
       mCtRoomSelectHTML+='<div align=center  style="letter-spacing:0.2em;font-family:verdana;font-size:12px;">';
       mCtRoomSelectHTML+='Die Chaträume werden<br>vom Server geladen ...';
       mCtRoomSelectHTML+='</div></div>';

      document.all.mCtRoomSelect.innerHTML = mCtRoomSelectHTML;

      document.all.mCtRoomSelect.style.visibility = "visible";
      }

      function LoadRooms(Rooms) {

      mCtRSSelectHTML =''

      RSsplit = Rooms.split('|');

      for (i=0; i<RSsplit.length; i++) {
        RSasplit = RSsplit[i].split('$');

      mCtRSSelectHTML+='<div align=center  style="letter-spacing:0.2em;font-family:verdana;font-size:12px;">';
        mCtRSSelectHTML+='<a href="javascript:SelectRoom(' + RSasplit[1] + ')">' + RSasplit[0] + ' (' + RSasplit[2] + ')</a>';
        mCtRSSelectHTML+='</div><br>';

      }

      document.all.mCtRSSelect.innerHTML = mCtRSSelectHTML;
      }

      -------------

      Hoffe mal, dass da jemand durchblickt ;-) Sorry wenn's so viel ist, aber ich habe schon gekürzt wo's geht! Der Fehler tritt bei mir in der jetzt letzten Zeile der Funktion LoadRooms() auf! Und ich kann mir echt nicht erklären woher das kommt.

      Mirko