Rüdiger: innerHTML im Internet Explorer

Hallo allerseits,

man darf mich nach Lösung des Problems von mir aus auch gerne Depp und Dödel schimpfen, aber ich komme einfach nicht weiter.

Ich will einen Maus-sensitiven Layer ein und ausblenden und es soll unter möglichst allen wichtigen Browsern funktionieren (IE6, NS7, Mozilla 1.6, Opera7).
Und eigentlich funktioniert die adaptierte Script-Sammlung, die ich mir adaptiert habe, auch auf einer Test-Seite problemlos:

http://www.tarot-club.de/php/tarot/testx.htm

Okay, dachte ich, dann bauen wir das da ein, wo's hingehört.

http://www.tarot-club.de/index.php?url=/php/tarot/readings/cross_little.php&dom=100
(dom-Parameter kann wegggelassen werden)

Das Witzige: der Layer unter der Überschrift (Bitte ziehen Sie noch... Karten) ist genau der Layer, der nachher Probleme macht!
Erst wird er verwendet um anzuzeigen, wieviele Karten noch zu ziehen sind. Hier funktioniert "innerHTML" reibungslos.
Sind die Karten nach dem Ziehen plaziert, soll in MouseOver der Layer verschoben werden und mit einem anderen Text befüllt werden.

Denkste, Puppe! Pustekuchen.
Stattdessen "Unbekannter Laufzeitfehler"...

Gibt es irgendwas über den innerHTML zu wissen, das ich bei all meinen Kruschtlereien im Internet übersehen habe?

Hruß und Dank im Voraus,

Rüdiger

  1. Nachtrag:
    1. Wer Schreibfehler findet, darf sie natürlich behalten.
    2. Interessanterweise funktionieren die Scripts im NS7 und Mozilla problemlos. Opera reagiert nicht, bringt aber auch keine Fehlermeldung.

    R.

  2. Hallo Rüdiger,

    witzig, gerade habe ich deinem Kollegen Stefan von www.traumzeit-tarot.de auf sein angebliches Grafik und tatsächliches JavaScript-Problem geantwortet und jetzt dir, obwohl ich mit Esoterik ja nun gar nichts am Hut habe.

    Du weißt schon, dass innerHtml nicht von allen Browsern interpretiert wird?

    Vielleicht liegt dein Problem darin, dass du gleichzeitig den Text und die Position des Layers verändern willst. Ersteres über innerHTML und letzteres über ~style.top und ~style.left (DHTML). Das kollidiert womöglich miteinander. Du könntest aber in dem Fall vielleicht besser gleich die beiden Fliegen mit einer Klappe schlagen und es mit outerHTML versuchen. Über outerHTML könntest du inline definierte CSS-Positionsangaben ja auch gleich mit ändern.

    Eine kleine Studie zu dynamischen Veränderungen über document.write() und innerHTML findest du auf meiner Seite.

    http://home.arcor.de/gernotback/sau.html

    Dort verändere ich auch inline-CSS-Angaben dynamisch über innerHTML und nicht über DHTML. Mit outerHTML habe ich es aber selbst noch nicht versucht.

    Gruß Gernot

    1. Hallo Gernot,

      doppelter Dank: einmal für Deine Tipps und zum anderen für den Hinweis auf Stefan - wir haben bereits Kontakt aufgenommen. Mal schaun, was draus wird.
      (Ich kam übrigens zum Tarot/Esoterik, weil ich mal ein Bierchen trinken gehen wollte... ;-) )

      Aaaaber: innerHTML läßt mich noch nicht ganz los. Inzwischen bin ich einen Schritt weiter. Es hängt vom Inhalt ab, den ich mit innerHTML in den Layer schreiben will.

      //--- Das hier funktioniert nicht (Unbekannter Laufzeitfehler beim setzen des innerHTML)
       txt =  '<table><tr><td>';
       txt += titel;
       txt += '<br>';
       txt += text;
       txt += '</td></tr></table>';

      //--- Das hier hingegegen funktioniert!!!
       txt =  '<dl><dt>';
       txt += titel;
       txt += '</dt><dd>';
       txt += text+'<img src=http://www.tarot-club.de/lib/design/pic/logo.gif>';
       txt += '</dd></dl>';

      Mal sehen, ich bin inzwischen hier im Forum noch auf etwas interessantes gestossen....

      Gruß und Dank nochmals,
      Rüdiger

      P.S.: Sorry, für die verspätete Antwort - grippeverschuldet.