Sebastian: JS gibt nicht den richtigen Wert bei Radiobuttonwechsel mit

Hallo,

ich habe 2 Radiobuttons die dafür verwendet werden sollen einen versteckten Text entweder sichtbar oder unsichtbar werden zu lassen.
Leider funzt das ganze nicht so richtig.
Der Text wird immer angezeigt, egal auf welchen Button man klickt, und er verschwindet dann auch nicht mehr.
Eigentlich soll er bei Button 1 sichtbar und bei Button 2 unsichtbar werden.

Was mach ich ier falsch?
-------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <title>Unbenannt</title>

<script type="text/javascript">
 function auswahl() {
  if(document.getElementById("button").value == "1") {
   document.getElementById("Bereich_zum_Ausblenden").style.visibility = "visible";
  document.getElementById("Bereich_zum_Ausblenden").style.display = "block";
 } else {
 document.getElementById("Bereich_zum_Ausblenden").style.visibility = "hidden";
 document.getElementById("Bereich_zum_Ausblenden").style.display = "none";
 }
}
</script>

</head>
<body>

<form action="bla.htm" method="post">
 TEST
 <input type="radio" name="button" value="1" onclick="auswahl()" > JA
 <input type="radio" name="button" value="2" onclick="auswahl()" > NEIN
</form>

<span id="Bereich_zum_Ausblenden" style="visibility:hidden; display:none;">
 Ich werde angezeigt!
</span>

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

Vielen Dank schonmal....
Sebastian

  1. function auswahl() {
      // geändert:
      if(document.button.value == "1") {
       document.getElementById("Bereich_zum_Ausblenden").style.visibility = "visible";
      document.getElementById("Bereich_zum_Ausblenden").style.display = "block";
     } else {
     document.getElementById("Bereich_zum_Ausblenden").style.visibility = "hidden";
     document.getElementById("Bereich_zum_Ausblenden").style.display = "none";
     }
    }

    habe es nicht getestet.

  2. Was mach ich ier falsch?

    Also erstmal hast du dir nicht angeschaut, wie man Radiobuttons anspricht, Elemente mit dem gleichen Namen bilden eine Art Array, d.h. du musst diese über den Index ansprechen, wobei du dir das auch sparen kann.

    <form action="bla.htm" method="post">  
    <input type="radio" name="button" value="1" onclick="auswahl(this)" > JA  
    <input type="radio" name="button" value="2" onclick="auswahl(this)" > NEIN  
    </form>  
    <div id="Bereich_zum_Ausblenden" style="display:none;">  
    Ich werde angezeigt!  
    </div>  
    
    
    <script type="text/javascript">  
    function auswahl(el) {  
    var o = document.getElementById("Bereich_zum_Ausblenden");  
    if(!o || !el) return;  
    o.style.display = el.value == "1" ? 'block' : 'none';  
    </script>  
    
    

    Struppi.

    --
    Javascript ist toll (Perl auch!)