Bruno Hopf: dynamisch Text auswechseln in NS4 funktioniert nicht ---> ??

Habe folgenden Code zwischen <body>:

<div ID="LayerQuadrat">
irgendein Text
</div>

Ein onclick-Event ruft folgende Funktion auf:

function ChangeQuadrat(){
 if (document.layers){
  document["LayerQuadrat"].document.open();
  document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
  document["LayerQuadrat"].document.close();}
 else if (document.all){
  document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
 return false;}

Zwischen <head> steht Folgendes:
<style type="text/css">
#LayerQuadrat {position:absolute; visibility:visible; z-index:1; border: 0px; top: 0px; left: 0px}
</style>

NS wechselt den Inhalt aber nicht dynamisch aus, obwohl keine Fehlermeldung kommt.

Vielen Dank für die Hilfe

  1. Joho, <-- sowas nennt man eine Begruessung

    [...]

    function ChangeQuadrat(){
    if (document.layers){
      document["LayerQuadrat"].document.open();
      document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
      document["LayerQuadrat"].document.close();}
    else if (document.all){
      document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
    return false;}

    [...]

    NS wechselt den Inhalt aber nicht dynamisch aus, obwohl keine
    Fehlermeldung kommt.

    Layer verstecken, schreiben, Layer wieder anzeigen. Der NN rendert
    zur Laufzeit nicht neu.

    Gruss,
     CK

    1. Joho, <-- sowas nennt man eine Begruessung

      [...]

      function ChangeQuadrat(){
      if (document.layers){
        document["LayerQuadrat"].document.open();
        document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
        document["LayerQuadrat"].document.close();}
      else if (document.all){
        document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
      return false;}
      [...]
      NS wechselt den Inhalt aber nicht dynamisch aus, obwohl keine
      Fehlermeldung kommt.

      Layer verstecken, schreiben, Layer wieder anzeigen. Der NN rendert
      zur Laufzeit nicht neu.

      -->Hallo!
      -->Verstehe ich nicht, denn ich zeige in einem Layer auch die Mauskoordinaten an und diese werden auch immer aktualisiert.
      Auch im NN?

      Was ist in diesem Falle anders?

      Gruss,
      CK

      1. Joho,

        bevor du weiterliest: lies http://learn.to/quote!
        Ausserdem taeten deinen Postings eine Begruessung und eine
        Verabschiedung recht gut.

        -->Verstehe ich nicht, denn ich zeige in einem Layer auch die
        Mauskoordinaten an und diese werden auch immer aktualisiert.
        Auch im NN?

        Wahrscheinlich aber ohne HTML.

        Was ist in diesem Falle anders?

        Du schreibst HTML mit rein.

        Versteck den Layer (visibility = 'hidden'), bevor du was reinschreibst,
        und es wird funktionieren.

        Gruss,
         CK

        1. Joho,

          bevor du weiterliest: lies http://learn.to/quote!
          Ausserdem taeten deinen Postings eine Begruessung und eine
          Verabschiedung recht gut.

          -->Verstehe ich nicht, denn ich zeige in einem Layer auch die
          Mauskoordinaten an und diese werden auch immer aktualisiert.
          Auch im NN?

          Wahrscheinlich aber ohne HTML.

          Was ist in diesem Falle anders?

          Du schreibst HTML mit rein.

          Versteck den Layer (visibility = 'hidden'), bevor du was reinschreibst,
          und es wird funktionieren.

          Gruss,
          CK

          Hallo!

          Das folgende Script von Harry funktioniert, aber nicht in meinem Code.
          Hier ist aber auch HTML dabei:

          <html>
          <head>
           <title>Untitled</title>
          <script language="javascript">
          function ChangeQuadrat(){
           if (document.layers){
            document["LayerQuadrat"].document.open();
            document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
            document["LayerQuadrat"].document.close();}
           else if (document.all){
            document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
           return false;}
          </script>
          <style type="text/css">
          #LayerQuadrat {position:absolute; visibility:visible; z-index:1; border: 0px; top: 0px; left: 0px}
          </style>
          </head>

          <body>
          <div ID="LayerQuadrat">
          <table><tr><td background="red">
           irgendein Text
          </td></tr></table>
          </div>
          <br>
          <br>

          <a href="#" onClick="ChangeQuadrat(); return false;">Hui !</a>

          </body>
          </html>

          Gruß

          BH

          1. Joho,

            *seufz* obwohl du offensichtlich Beratungs-Resistent bist und nichts
            von dem, was wir dir sagen, annehmen willst, nochmal ein Posting.

            function ChangeQuadrat(){
            if (document.layers){
              document["LayerQuadrat"].document.open();
              document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
              document["LayerQuadrat"].document.close();}
            else if (document.all){
              document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
            return false;}

            Verstecke die Layer, bevor du in sie hineinschreibst. Zum xten mal!

            Aus deinem anderen Posting:

            #LayerQuadrat {position:relative; visibility:visible; z-index:5; border: 0px; top: 0px; left: 0px}

            Vergiss 'position:relative'! Das hatten wir auch schon oefter hier...
            Dann lass mal deine Struktur vom Validator pruefen.

            Gruss,
             CK

  2. Tag.

    document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');

    document["LayerQuadrat"].document.write("<table><tr><td background='red'>sfsdfasdfa</td></tr></table>");

    Probier mal, ob's so geht (andere Anführungszeichen).

    Ciao,

    Harry

    1. Tag.

      document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');

      document["LayerQuadrat"].document.write("<table><tr><td background='red'>sfsdfasdfa</td></tr></table>");

      Probier mal, ob's so geht (andere Anführungszeichen).

      Ciao,

      Harry

      Hallo!

      Funktionier leider auch nicht, es wird nichts angezeigt, aber der ursprüngliche Inhalt ist weg.

      Vielen Dank

      BH

      1. Seas.

        Äh, bist Du sicher daß Dein Browser funktioniert ??????
        Ich hab's grad nochmal mit NC4.78 ausprobiert, und es geht ohne Probleme:

        ------------------------------------
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

        <html>
        <head>
         <title>Untitled</title>
        <script language="javascript">
        function ChangeQuadrat(){
         if (document.layers){
          document["LayerQuadrat"].document.open();
          document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
          document["LayerQuadrat"].document.close();}
         else if (document.all){
          document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
         return false;}
        </script>
        <style type="text/css">
        #LayerQuadrat {position:absolute; visibility:visible; z-index:1; border: 0px; top: 0px; left: 0px}
        </style>
        </head>

        <body>
        <div ID="LayerQuadrat">
        irgendein Text
        </div>
        <br>
        <br>

        <a href="#" onClick="ChangeQuadrat(); return false;">Hui !</a>

        </body>
        </html>
        ---------------------------------------------

        Ciao,

        Harry

        1. Seas.

          Äh, bist Du sicher daß Dein Browser funktioniert ??????
          Ich hab's grad nochmal mit NC4.78 ausprobiert, und es geht ohne Probleme:


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

          <html>
          <head>
          <title>Untitled</title>
          <script language="javascript">
          function ChangeQuadrat(){
          if (document.layers){
            document["LayerQuadrat"].document.open();
            document["LayerQuadrat"].document.write('<table><tr><td background="red">sfsdfasdfa</td></tr></table>');
            document["LayerQuadrat"].document.close();}
          else if (document.all){
            document.all["LayerQuadrat"].innerHTML = '<table><tr><td background="red">sfsdfasdfa</td></tr></table>';}
          return false;}
          </script>
          <style type="text/css">
          #LayerQuadrat {position:absolute; visibility:visible; z-index:1; border: 0px; top: 0px; left: 0px}
          </style>
          </head>

          <body>
          <div ID="LayerQuadrat">
          irgendein Text
          </div>
          <br>
          <br>

          <a href="#" onClick="ChangeQuadrat(); return false;">Hui !</a>

          </body>
          </html>

          Ciao,

          Harry

          Hallo Harry,

          Dein Script funktioniert bei mir auch.
          Aber, wenn ich alles in meinen Code hineinkopiere, dann wird nichts angezeigt.
          Ich rufe die Funktion genauso auf wie Du.
          Die Funktion ist die selbe.

          Also kann es nur an HTML liegen?

          Gruß

          BH

          1. Tag.

            Hallo Harry,

            Dein Script funktioniert bei mir auch.

            :-)

            Aber, wenn ich alles in meinen Code hineinkopiere, dann wird nichts angezeigt.

            :-(

            Ich rufe die Funktion genauso auf wie Du.
            Die Funktion ist die selbe.

            Ja, dann laß och einfach mal noch ein Stückchen Quellcode mehr rüberwachsen ... vielleicht finden wir ja dann den Fehler.

            Also kann es nur an HTML liegen?

            Nö. Kann genausogut sein, daß die Stylesheets da Probleme machen (wie ??? Stylesheets sollen bei JavaScript Probleme machen ??? Richtig ! Der NC4 kann sowas. Toll, oder ?)

            Ciao,

            Harry
            PS: http://learn.to/quote

            1. Tag.

              Hallo Harry,

              Dein Script funktioniert bei mir auch.

              :-)

              Aber, wenn ich alles in meinen Code hineinkopiere, dann wird nichts angezeigt.

              :-(

              Ich rufe die Funktion genauso auf wie Du. Die Funktion ist die selbe.

              Ja, dann laß och einfach mal noch ein Stückchen Quellcode mehr rüberwachsen ... vielleicht finden wir ja dann den Fehler.

              Also kann es nur an HTML liegen?

              Nö. Kann genausogut sein, daß die Stylesheets da Probleme machen (wie ??? Stylesheets sollen bei JavaScript Probleme machen ??? Richtig ! Der NC4 kann sowas. Toll, oder ?)

              Ciao,

              Harry PS: http://learn.to/quote

              Hallo Harry,

              erstmal herzlichen Dank für die Hilfe. Der betreffende Layer ist "LayerQuadrat", gehe davon aus, daß das Problem darin liegt, daß der Layer zwischen HTML liegt. Werde mir auch das richtige Zitieren anlernen. ;)

              Die Seite sieht folgendermaßen aus:

              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

              <html> <head>  <title>Architekt Auerbach</title>

              <link rel="STYLESHEET" type="text/css" href="css/default.css">

              <style type="text/css">   #Layer1 {position:absolute; visibility:hidden; z-index:1; border: 0px; top: 100px; left: 300px}   #LayerInfo {position:absolute; visibility:visible; z-index:0; border: 0px; top: 200px; left: 500px; width: 300px; height: 300px; background-color: #AAA579; bgcolor: #AAA579}   #Rand {position:absolute; visibility:visible; z-index:2; border: 0px; top: 0px; left: 0px}   #LayerQuadrat {position:relative; visibility:visible; z-index:5; border: 0px; top: 0px; left: 0px}  </style>

              <script src="includes/preload.js">  </script>

              <script src="includes/moving.js">  </script>

              <script src="includes/touch.js">  </script>

              <script src="includes/changebutton.js">  </script>

              <script src="includes/changesize.js">  </script>

              <script src="includes/changequadrat.js">  </script>

              </head>

              <body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" onresize="ChangeSize(720,420)" onload="Delay();" bgcolor="White"> <div ID="Layer1">  <table width="100" height="80" bgcolor="#blue" cellpadding="0" cellspacing="0" border="0" bordercolor="Black">   <tr>    <td width="20" height="50">     <a href="#" onmouseover="SetzeEins()" onmouseout="SetzeNull()">      <img src="images/dummy_rot.gif" width="20" height="80" alt="" border="0">     </a>    </td>    <td width="80" height="50" valign="top">     <form method="" action="" name="form2">      <input type="Checkbox" onclick="Layer1Menu();" name="EinAus1" checked>     </form><!--<a href="#" onclick="HideMenu();">blabla</a>-->    </td>   </tr>  </table> </div> <div ID="Rand">  <img src="images/rand.gif" width="240" height="420" alt="" border="0"> </div> <div id="LayerInfo">    </div>

              <table cellpadding="0" cellspacing="0" width="720" height="420" border="0" bgcolor="White">  <tr>   <td width="10">    <img src="images/dummy.gif" width="10" height="420" alt="" border="0">   </td>   <td width="10">    <img src="images/dummy.gif" width="10" height="420" alt="" border="0">   </td>   <td width="40" height="420" valign="bottom" bgcolor="White" align="left">    <img src="images/logo_small.gif" width="23" height="43" alt="" border="0">   </td>   <td width="160" height="420" bgcolor="White" align="left">    <table cellpadding="0" cellspacing="0" border="0" height="420">     <tr>      <td width="20" bgcolor="White" height="420" rowspan="4">       <img src="images/dummy.gif" width="20" height="420" alt="" border="0">      </td>      <td width="108" valign="middle" align="left" height="100">       <a href="#" onmouseover="img_change('news', 'images/news_over.gif')" onmouseout="img_change('news', 'images/news.gif');">        <img src="images/news.gif" width="108" height="16" alt="News" border="0" name="news" align="top">       </a>       <a href="#" onmouseover="img_change('studio', 'images/studio_over.gif')" onmouseout="img_change('studio', 'images/studio.gif');">        <img src="images/studio.gif" width="108" height="16" alt="" border="0" name="studio">       </a>      </td>      <td width="32" rowspan="4" height="420">       <img src="images/dummy.gif" width="32" height="420" alt="" border="0">      </td>     </tr>     <tr>      <td width="108" valign="top" height="120" align="left">       <img src="images/dummy.gif" width="16" height="10" alt="" border="0"><img src="images/portfolio.gif" width="53" height="10" alt="" border="0">       <a href="#" onclick="ChangeQuadrat(); return false;" onmouseover="img_change('portrait', 'images/portrait_over.gif')" onmouseout="img_change('portrait', 'images/portrait.gif');">        <img src="images/portrait.gif" width="108" height="16" alt="" border="0" name="portrait">       </a>       <a href="#" onmouseover="img_change('leistung', 'images/leistung_over.gif')" onmouseout="img_change('leistung', 'images/leistung.gif');">        <img src="images/leistung.gif" width="108" height="16" alt="" border="0" name="leistung">       </a>       <a href="#" onmouseover="img_change('referenzen', 'images/ref_over.gif')" onmouseout="img_change('referenzen', 'images/ref.gif');">        <img src="images/ref.gif" width="108" height="16" alt="" border="0" name="referenzen">       </a>       <a href="#" onmouseover="img_change('partner', 'images/partner_over.gif')" onmouseout="img_change('partner', 'images/partner.gif');">        <img src="images/partner.gif" width="108" height="16" alt="" border="0" name="partner">       </a>      </td>     </tr>     <tr>      <td width="108" valign="top" height="100" align="center">       <div ID="LayerQuadrat">        <table border="0" cellpadding="0" cellspacing="0" align="center">         <tr>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">1</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">2</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">3</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">4</a>          </td>         </tr>         <tr>          <td colspan="7"></td>         </tr>         <tr>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">5</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">6</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">7</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">8</a>          </td>         </tr>         <tr>          <td colspan="7"></td>         </tr>         <tr>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">9</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">10</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">11</a>          </td>          <td><img src="images/dummy.gif" width="4" height="20" alt="" border="0"></td>          <td background="images/quadrat_hell.gif" width="20" height="21" valign="middle" align="center">           <a href="#" class="quadrat">12</a>          </td>         </tr>        </table>       </div>      </td>     </tr>     <tr>      <td height="100">       <img src="images/dummy.gif" width="16" height="2" alt="" border="0"><img src="images/kontakt.gif" width="47" height="10" alt="" border="0">

              <a href="#" onmouseover="img_change('email', 'images/email_over.gif')" onmouseout="img_change('email', 'images/email.gif');">        <img src="images/email.gif" width="108" height="16" alt="" border="0" name="email">       </a>       <a href="#" onmouseover="img_change('anfahrt', 'images/anfahrt_over.gif')" onmouseout="img_change('anfahrt', 'images/anfahrt.gif');">        <img src="images/anfahrt.gif" width="108" height="16" alt="" border="0" name="anfahrt">       </a>      </td>     </tr>    </table>   </td>   <td width="95" align="left">    <img src="images/start_haus.jpg" width="95" height="420" alt="" border="0">   </td>   <td bgcolor="White" width="500" background="images/background.gif">    <form method="" name="Form2">     <input type="Checkbox" onclick="Layer1Menu();" name="EinAus2">    </form>   </td>  </tr> </table> <!-- <form method="" name="Form2">  <input type="Checkbox" onclick="Layer1Menu();" name="EinAus2"> </form><a href="#" onclick="MoveLeft('Rand',210);">Balken verschieben</a>-->

              </body> </html>

              Gruß

              BH