Saadat: Inhalt von DIV-Tag unter Netscape verändern

Hallo allerseits,

es kann vielleicht nur eine Kleinigkeit zur Ursache haben, aber das folgende Beispiel klappt unter Netscape nicht.

Ich möchte durch die Auswahl der Optionen "ja" oder "nein" das Textarea-Feld, welches sich in einem Formular in einem DIV-Tag befindet durch ein verstecktes Input-Feld ersetzen. Unter IE klappt es, aber unter Netscape noch nicht.

Hat jemand eine kreative Idee?

Danke im Voraus!

---------------------------------------------------------------------
                         B E I S P I E L
---------------------------------------------------------------------
<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
<!--

ie=document.all?1:0  
ns=document.layers?1:0  
  
function disableLage()  
{  

var out="<input type='hidden' name='ObjLage' value=' '>";
  if(ns)
  {
   with(document.ObjForm.document.LageText.document)
   {
    open(); write(out); close();
   }
  }
  else LageText.innerHTML=out;
    }

function ableLage()  
{  

var out="<textarea class='formular' name='ObjLage' cols='40' rows='5'></textarea>";
  if(ns)
  {
   with(document.ObjForm.document.LageText.document)
   {
    open(); write(out); close();
   }
  }
  else LageText.innerHTML=out;
    }

//-->
</script>
</head>

<body>

<form name="ObjForm">
<input type="radio" name="LageOption" value="ja" checked onFocus="ableLage();">ja
<input type="radio" name="LageOption" value="nein" onFocus="disableLage();">nein
<div id="LageText"><textarea name="ObjLage" cols="40" rows="5"></textarea></div>
</form>

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

  1. Netscape mag es gar nicht, wenn man innerhalb eines <div>-Elements
    ein Formularelement ohne ein <form>-Element (im <div>-Element!!!) zu
    definieren. Versuch das 'mal.

    Enjoy IT,
    Andrea

    1. Netscape mag es gar nicht, wenn man innerhalb eines <div>-Elements
      ein Formularelement ohne ein <form>-Element (im <div>-Element!!!) zu
      definieren. Versuch das 'mal.

      Enjoy IT,
      Andrea

      Hallo,

      hier Saadat nochmal.

      Ich habe wie vorgeschlagen das Textarea-Feld im DIV-Element wie folgt mit einem Formular versehen. Trotzdem scheint es nicht zu klappen.
      -------------------------------------------------------------
      <div id="LageText">
        <form>
          <textarea name="ObjLage" cols="40" rows="5"></textarea>
        </form>
      </div>
      -------------------------------------------------------------

      Bitte um weitere Vorschläge!

      1. Hast Du das andere <form>-Element, dass vorher das <div>-Element
        beinhaltete, auch entfernt?!? Verschachtelte <form>-Elemente sind
        naemlich ebenso uebel!.

        Andreas

        1. Hast Du das andere <form>-Element, dass vorher das <div>-Element
          beinhaltete, auch entfernt?!? Verschachtelte <form>-Elemente sind
          naemlich ebenso uebel!.

          Wenn ich das oberste Form-Element entferne, sind unter Netscape die Optionsfelder "ja" und "nein" auch nicht mehr sichtbar. Es soll also so innerhalb des Form-Elements funktionieren.

          1. » Wenn ich das oberste Form-Element entferne, sind unter Netscape
            » die Optionsfelder "ja" und "nein" auch nicht mehr sichtbar. Es
            »  soll also so innerhalb des Form-Elements funktionieren.

            Leider haben wir anscheinend aneinander vorbei gemailt. Hier die
            Lösung, alle geänderten Zeilen habe ich mit einem entsprechenden
            Kommentar markiert.

            Enjoy IT,
            Andreas

            <html>
            <head>
            <title>Untitled</title>
            <script language="JavaScript">
            <!--

            ie=document.all?1:0
            ns=document.layers?1:0

            function disableLage()
            {
              /* Geändert!!! */ var out="<form><input type='hidden' name='ObjLage' value=' '></form>";
              if(ns)
              {
               /* Geändert!!! */ with(document.LageText.document)
               {
                open(); write(out); close();
               }
              }
              else LageText.innerHTML=out;
                }

            function ableLage()
            {
              /* Geändert!!! */ var out="<form><textarea class='formular' name='ObjLage' cols='40' rows='5'></textarea></form>";
              if(ns)
              {
               /* Geändert!!! */ with(document.LageText.document)
               {
                open(); write(out); close();
               }
              }
              else LageText.innerHTML=out;
                }

            //-->
            </script>
            </head>

            <body>

            <form name="ObjForm">
            <input type="radio" name="LageOption" value="ja" checked onFocus="ableLage();">ja
            <input type="radio" name="LageOption" value="nein" onFocus="disableLage();">nein

            <!-- Geändert!!! --></form>

            <!-- Geändert!!! --><div id="LageText" style="position:absolute">
            <form><textarea name="ObjLage" cols="40" rows="5"></textarea></form></div>

            </body>
            </html>

            1. » Wenn ich das oberste Form-Element entferne, sind unter Netscape
              » die Optionsfelder "ja" und "nein" auch nicht mehr sichtbar. Es
              »  soll also so innerhalb des Form-Elements funktionieren.

              Leider haben wir anscheinend aneinander vorbei gemailt. Hier die
              Lösung, alle geänderten Zeilen habe ich mit einem entsprechenden
              Kommentar markiert.

              Enjoy IT,
              Andreas

              <html>
              <head>
              <title>Untitled</title>
              <script language="JavaScript">
              <!--

              ie=document.all?1:0
              ns=document.layers?1:0

              function disableLage()
              {
                /* Geändert!!! */ var out="<form><input type='hidden' name='ObjLage' value=' '></form>";
                if(ns)
                {
                 /* Geändert!!! */ with(document.LageText.document)
                 {
                  open(); write(out); close();
                 }
                }
                else LageText.innerHTML=out;
                  }

              function ableLage()
              {
                /* Geändert!!! */ var out="<form><textarea class='formular' name='ObjLage' cols='40' rows='5'></textarea></form>";
                if(ns)
                {
                 /* Geändert!!! */ with(document.LageText.document)
                 {
                  open(); write(out); close();
                 }
                }
                else LageText.innerHTML=out;
                  }

              //-->
              </script>
              </head>

              <body>

              <form name="ObjForm">
              <input type="radio" name="LageOption" value="ja" checked onFocus="ableLage();">ja
              <input type="radio" name="LageOption" value="nein" onFocus="disableLage();">nein

              <!-- Geändert!!! --></form>

              <!-- Geändert!!! --><div id="LageText" style="position:absolute">
              <form><textarea name="ObjLage" cols="40" rows="5"></textarea></form></div>

              </body>
              </html>

              Danke sehr!

              Es funktioniert zwar, aber nun ist das Textarea-Feld kein Teil mehr des Formulars "ObjForm". Das heißt sein Wert wird nicht mit übermittelt.

              Vielleicht ist meine Idee falsch rübergekommen. Ich wollte, daß der User die Felder in einem Formular, die nicht ausgefüllt werden müssen, einfach wegklicken kann.

              1. Es funktioniert zwar, aber nun ist das Textarea-Feld kein Teil
                mehr des Formulars "ObjForm". Das heißt sein Wert wird nicht mit
                übermittelt.

                Vielleicht ist meine Idee falsch rübergekommen. Ich wollte, daß
                der User die Felder in einem Formular, die nicht ausgefüllt werden
                müssen, einfach wegklicken kann.

                Tja, ich glaube aber, dass das mit Netscape so ohne weiteres nicht
                geht. Einzige Möglichkeit, die ich sehe, ist, dass Du alle zu über-
                mittelnden Werte noch einmal in die unsichtbare Formularelemente
                eines ebenfalls unsichtbaren Formulars kopierst und dieses ab-
                schickst.

                Andreas