sacool: Block-Element verstecken

Hi,

ich habe auf meiner Seite ein Formular erstellt. Ein Teil dieses Formulars ist anfänglich für den Benutzer unsichtbar und wird erst, wenn der User eine Checkbox aktiviert hat, angezeigt.

<input type='checkbox' name='galerie_checkbox' id='galerie_checkbox'  onchange='showgalerie()' class='formular'  />
<div id='galerie' style='display:none;z-index:0;'>
   Vorerst unsichtbar
</div>

<script language="Javascript" type="text/javascript">
<!--
function showgalerie() {
document.getElementById("galerie").style.display = "block";
}
//-->
</script>

Nun soll der "Voerst Unsichtbar" Teil aber wieder unsichtbar werden, wenn der Benutzer die Checkbox wieder deaktiviert. Diesen Schritt bekomme ich aber nicht richtig hin. Bin noch ein Anfänger in JavaScript.

Kann mit jemand sagen, wie ich diesen Schritt hinbekomme?

  1. Hi,

    hallo,

    versuch mal folgendes:
    Eine Funktion, die überprüft, ob die übergebene checkbox geklickt ist, die dann je nachdem ob geklickt oder nicht-geklickt den Bereich anzeigt oder versteckt. Bsp:

      
    // id1 soll die id der checkbox sein  
    // id2 die des Blockelements  
    function check(id1, id2)  
    {  
     if (document.getElementById(id1).checked == true)  
     {  
      show (id2);  
     }  
     else if (document.getElementById(id1).checked != true)  
     {  
      hide (id2);  
     }  
      
    }  
    
    

    Grüße aus Berlin,

    tufi

    1. Hello out there!

      if (document.getElementById(id1).checked == true)

      Das heißt „wenn es wahr ist, dass die Checkbox angewählt ist, dann ...“

      Dafür kannst du einfach sagen „wenn die Checkbox angewählt ist, dann ...“, also

      if (document.getElementById(id1).checked)

      else if (document.getElementById(id1).checked != true)

      Diese if-Abfrage ist völlig überflüssig, da sie immer zutrifft, wenn du im else-Zweig der ersten Abfrage bist. Also dafür einfach nur

      else

      See ya up the road,
      Gunnar

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
  2. Hallo

    Nun soll der "Voerst Unsichtbar" Teil aber wieder unsichtbar werden, wenn der Benutzer die Checkbox wieder deaktiviert. Diesen Schritt bekomme ich aber nicht richtig hin. Bin noch ein Anfänger in JavaScript.

    Kann mit jemand sagen, wie ich diesen Schritt hinbekomme?

    Prüfe vor dem festlegen der neuen Eigenschaft, ob die Checkbox aktiviert ist oder nicht. Stichwort: checked.

    Gruß
    Carl

  3. Hello out there!

    Ein Teil dieses Formulars ist anfänglich für den Benutzer unsichtbar und wird erst, wenn der User eine Checkbox aktiviert hat, angezeigt.

    Das ist schlecht, weil der Teil für Nutzer ohne JavaScript nie angezeigt wird.

    Verstecke den Teil nicht mit CSS allein, sondern mit JavaScript. Nutzer ohne JavaScript sehen ihn dann zwar immer, was wohl aber besser ist als nie.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)