Volker Krause: Ein-/Ausblenden von Formularfeldern

Hallo,

ich möchte Formularfelder bei Änderung eines Auswahlfelds ein- bzw. ausblenden.
Wichtige Vorraussetzung: Das ganze muss sowohl mit IE als auch mit NN 4.7 und 6 funktionieren.
Für den IE habe ich bereits eine funktionierende Lösung mittels document.all.div1.style.visibility=hidden/visible. Das funktioniert aber bekannterweise nicht mit dem Rest.
Bei meinen Experimenten mit <[i]layer> hatte ich das Problem, dass NN4.7 die darin enthaltenen Textfelder nicht mehr anzeigte.

Ich bin dankbar für jeden Hinweis.
Gruß,
Volker Krause

  1. hallo Volker,
    ich brüte gerade über einem ähnlichen Problem ;-)

    Hallo,

    ich möchte Formularfelder bei Änderung eines Auswahlfelds ein- bzw. ausblenden.
    Wichtige Vorraussetzung: Das ganze muss sowohl mit IE als auch mit NN 4.7 und 6 funktionieren.
    Für den IE habe ich bereits eine funktionierende Lösung mittels
    document.all.div1.style.visibility=hidden/visible.

    für Netscape 4.x:
    document.layers.div1.visibility=="hide";

    für Netscape 6.x
    document.getElementById.div1.style.visibility="hidden";

    Viel Erfolg noch,
    Reni

  2. Hallo,

    ich möchte Formularfelder bei Änderung eines Auswahlfelds ein- bzw. ausblenden.
    Wichtige Vorraussetzung: Das ganze muss sowohl mit IE als auch mit NN 4.7 und 6 funktionieren.
    Für den IE habe ich bereits eine funktionierende Lösung mittels document.all.div1.style.visibility=hidden/visible. Das funktioniert aber bekannterweise nicht mit dem Rest.
    Bei meinen Experimenten mit <[i]layer> hatte ich das Problem, dass NN4.7 die darin enthaltenen Textfelder nicht mehr anzeigte.

    Ich bin dankbar für jeden Hinweis.
    Gruß,
    Volker Krause

    Für Netscape 4 benutzt du
     document.layers[layerid].visibility = "hide";
    und für Netscape 6 und Opera
     document.getElementById(layerid).style.visibility = "hidden";

    Layerid ist dabei natürlich die id=-Angabe im DIV.

    Zum Vergleich: Mit IE habe ich das so gelöst:
     document.all[layerid].style.visibility = "hidden";

    - Sven Rautenberg

    1. Für Netscape 4 benutzt du
      document.layers[layerid].visibility = "hide";

      Ergänzung: Zum Zeigen des Layers muß es "show" heißen, nicht "visible". Netscape 4 at its best mal wieder!

      und für Netscape 6 und Opera
      document.getElementById(layerid).style.visibility = "hidden";

      Layerid ist dabei natürlich die id=-Angabe im DIV.

      Zum Vergleich: Mit IE habe ich das so gelöst:
      document.all[layerid].style.visibility = "hidden";

      • Sven Rautenberg
  3. Hallo!

    Vielleicht hilft Dir das ja weiter(zumindest für den NC):
    http://dhtml.seite.net/beispiele/8.html

    Gruß Markus

  4. Vielen Dank für die Antworten. Ich habe jetzt eine funktionierende Version für MSIE und Mozilla/Netscape6.
    Ein Problem ist nach wie vor der Netscape 4.7. Das Verstecken von Layern funktioniert prinzipiell auch, allerdings werden darin keine Formularfelder angezeigt.
    Die unter http://dhtml.seite.net/beispiele/8.html vorgeschlagene Lösung, mehrere <form> Tags zu verwenden ist für mich nicht möglich, da ich Lotus Domino verwenden muss und damit nur begrenzten Einfluss auf die eigentliche HTML-Seite habe. JavaScript, <div>/<layer> etc. ist alles kein Problem, nur <form> kann ich nicht beeinflussen.

    Gruß,
    Volker