Joachim Scholtysik: Radiobutton per Javascript wieder enablen?

Hallo,

ich habe folgendes Problem :

Ich habe ein Formular, das eine Checkbox enthält, die den Wert Drucker hat. Unterhalb dieser Checkbox habe ich zwei Radioboxen definiert, die die Werte Lokaler Drucker und Netzwerkdrucker haben.
Die Radioboxen sind mit HTML-Attribut disabled deaktiviert und sollen nur aktiviert werden, wenn die Checkbox angeklickt wird. Dazu habe ich den onClick-Event-Handler verwendet.

<td width="2%"><INPUT type="checkbox" name="drucker" value="Einrichtung eines Druckers" onClick="return Enable();"></td>
<td width="39%" colspan="2" valign="center"><b>Einrichtung eines Druckers</td>

<script type="text/javascript">
<!--
function Enable()
{
  if(document.formular.drucker.checked == true) {
    document.formular.drucker2[0].enabled = true;
    return false;
  }
}
</script>

Leider funzt das irgendwie nicht. Der Fehler ist höchstwahrscheinlich das .enabled, das es bei Javascript nicht gibt, oder? Wie kann ich das Problem am besten lösen?

Vielen Dank im voraus für jede Hilfe.

Joachim Scholtysik

  1. Hallo

    das sollte funktionieren:
    --------------------------------------------------------------
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>
    <title>Untitled</title>
    <script type="text/javascript">
    <!--

    function Enable()
    {
        document.formular.drucker2.disabled = false;
    }
    </script>

    <body>
    <form name="formular" action="">
    <table summary="" cellspacing="0" cellpadding="0" border="0" width="100%">
    <tr>
    <td width="2%"><INPUT type="checkbox" name="drucker" value="Einrichtung eines Druckers" onClick="Enable();"></td>
    <td width="39%" colspan="2" valign="center"><b>Einrichtung eines Druckers</td>
    <td><input type="radio" disabled value="drucker" name="drucker2"></td>
    </tr></table>
    </form>
    </body>
    </html>

    ----------------------------------------
    das element heißt disabled und muß auf false gestellt werden.

    mfg
    Andreas

    1. Hallo

      das sollte funktionieren:

      function Enable()
      {
          document.formular.drucker2.disabled = false;
      }
      </script>

      <body>
      <form name="formular" action="">
      <table summary="" cellspacing="0" cellpadding="0" border="0" width="100%">
      <tr>
      <td width="2%"><INPUT type="checkbox" name="drucker" value="Einrichtung eines Druckers" onClick="Enable();"></td>
      <td width="39%" colspan="2" valign="center"><b>Einrichtung eines Druckers</td>
      <td><input type="radio" disabled value="drucker" name="drucker2"></td>
      </tr></table>
      </form>
      </body>
      </html>


      das element heißt disabled und muß auf false gestellt werden.

      mfg
      Andreas

      Hallo Andreas,

      danke für die prompte Antwort! Klappt soweit ganz gut. Leider habe ich gesehen, daß die Checkbox wieder deselektiert werden kann und die Radioboxen trotzdem enabled bleiben. Wie krieg ich denn das so hin, dass wenn die Checkbox selektiert wird, die zwei Radiobuttons enabled werden und wenn die Checkbox deselektiert wird, die Radiobuttons auch wieder disabled werden, d.h. quasi der Zustand "geswitched" wird?

      Danke schon mal.

      Joachim Scholtysik

      1. Hallo Joachim,

        function Enable()
        {
          if (document.formular.drucker.checked){
           document.formular.druckerx.disabled = false;
          }else
          {document.formular.druckerx.disabled = true;
          }
        }

        druckerx = drucker1, drucker2
        sollte funktionieren.

        mfg
        Andreas

        PS:Noch ein Tip. Diese Informationen findest du alle in Selfhtml 8.0.
          weiterhin viel Spaß

        1. function Enable()
          {
            if (document.formular.drucker.checked){
             document.formular.druckerx.disabled = false;
            }else
            {document.formular.druckerx.disabled = true;
            }
          }

          druckerx = drucker1, drucker2
          sollte funktionieren.

          Hallo Andreas,

          SelfHTML und SelfPHP sind zur Zeit meine Standardlektüren. Leider haben sie mir bei meinem Problem nicht helfen können.Deshalb meine Anfrage(n)

          So sieht zur Zeit mein Codeschnippsel so aus :

          <script type="text/javascript">
          <!--
          function Enable()
          {
           if(document.formular.drucker.checked) {
            document.formular.drucker2[0].disabled = false;
            document.formular.drucker2[1].disabled = false;
           }
           elseif {
            document.formular.drucker2[0].disabled = true;
            document.formular.drucker2[1].disabled = true;
           }
          }
          </script>

          Wenn ich die Checkbox aktiviere, erhalte ich nur links unten im IE6 "Fehler auf der Seite" und die Radiobuttons bleiben deaktiviert.

          Zeile : 136
          Zeichen : 1
          Fehler : Objekt erwartet
          Code : 0
          URL : Dateiname

          Die Checkbox heisst drucker, die Radiobuttons-Gruppe mit zwei Radiobuttons drucker2.

          Danke im voraus.

          Viele Grüße aus München.

          Joachim Scholtysik
          Würdest Du das anders programmieren?