michi: Radiobuttons durch checkbox enablen

huhu :)

ich versuche, drei radiobuttons zu enablen, wenn ich eine bestimmte checkbox auswähle.
die drei radios sind vorher disabled.
(ist es auch möglich, die drei radios(den angeklickten) beim disablen(wenn man die checkbox wieder deaktiviert) auf null zu setzen/zu reseten?)

mein code bis jetzt:
<form name="form1"...

<input type="checkbox" name="angebot1" value="55" onclick="document.form1.ab.disabled='true;' disabled="enabled"> 1, 2 oder 3 ? :)
<br><br>
<input type="radio" name="ab" value="1" disabled="disabled"> 1<br>
<input type="radio" name="ab" value="2" disabled="disabled"> 2<br>
<input type="radio" name="ab" value="3" disabled="disabled"> 3<br>

Danke ! :)

Gruss, Michi.

  1. sorry, habe vergessen zu sagen, dass das script nicht funktioniert.
    h.d. die drei radios sprechen nicht auf die checkbox an.

    1. hi,

      sorry, habe vergessen zu sagen, dass das script nicht funktioniert.
      h.d. die drei radios sprechen nicht auf die checkbox an.

      jetzt hast du immer noch vergessen zu sagen, was a) stattdessen passiert oder b) welche fehlermeldungen du bekommst.

      gruss,
      wahsaga

      1. funktioniert jetzt!
        Danke :)

  2. Hallo,

    ich versuche, drei radiobuttons zu enablen, wenn ich eine bestimmte checkbox auswähle.
    die drei radios sind vorher disabled.
    (ist es auch möglich, die drei radios(den angeklickten) beim disablen(wenn man die checkbox wieder deaktiviert) auf null zu setzen/zu reseten?)

    mein code bis jetzt:
    <form name="form1"...

    <input type="checkbox" name="angebot1" value="55" onclick="document.form1.ab.disabled='true;' disabled="enabled"> 1, 2 oder 3 ? :)

    Probiere es so:

    <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked"> 1, 2 oder 3 ? :)

    MfG, Thomas

    1. <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked"> 1, 2 oder 3 ? :)

      Funktioniert nicht :(

      1. Hallo,

        <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked"> 1, 2 oder 3 ? :)

        Funktioniert nicht :(

        Sollte schon, im IE 6 und Mozilla 1.4 klappt das. Du musst natuerlich eine einzige Zeile verwenden.

        MfG, Thomas

    2. Hi nochmal,

      perfekt!

      <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked"> 1, 2 oder 3 ? :)

      MfG, Thomas

      ...aber "this.form." funktioniert innerhalb der Checkbox nicht! Bitte durch "document.form" eersetzen...

      bluntburn

      1. Hallo,

        ...aber "this.form." funktioniert innerhalb der Checkbox nicht! Bitte durch "document.form" eersetzen...

        Nein, this.form bezieht sich auf das aktuelle Formular und steht auch der Checkbox zur Verfuegung, hier nochmal das komplette Beispiel:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
        <head>
        <title>Test by TM 09/03</title>
        </head>
        <body>
        mein code bis jetzt:
        <form name="form1">
        <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked"> 1, 2 oder 3 ? :)
        <br><br>
        <input type="radio" name="ab" value="1" disabled="disabled"> 1<br>
        <input type="radio" name="ab" value="2" disabled="disabled"> 2<br>
        <input type="radio" name="ab" value="3" disabled="disabled"> 3<br>
        </form>
        </body>
        </html>

        MfG, Thomas

        1. stimmt. das funktioniert jetzt.

          allerdings sollen sich die drei radiobuttons auch reseten, wenn ich die checkbox wieder deaktiviere.
          wie kann ich das realisieren ?

          gruss, michi

          1. Hallo,

            stimmt. das funktioniert jetzt.

            Die gepostete Zeile hat sich aber nicht veraendert ;-).

            allerdings sollen sich die drei radiobuttons auch reseten, wenn ich die checkbox wieder deaktiviere.
            wie kann ich das realisieren ?

            <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked;for(i=0;i<this.form.ab.length;i++)this.form.ab[i].checked=false"> 1, 2 oder 3 ? :)

            MfG, Thomas

            1. <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked;for(i=0;i<this.form.ab.length;i++)this.form.ab[i].checked=false"> 1, 2 oder 3 ? :)

              Noch etwas effektiver:

              <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++){this.form.ab[i].disabled=!this.checked;this.form.ab[i].checked=false}"> 1, 2 oder 3 ? :)

              MfG, Thomas

              1. funktioniert!

                Danke! :) *freufreufreu*

            2. <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked;for(i=0;i<this.form.ab.length;i++)this.form.ab[i].checked=false"> 1, 2 oder 3 ? :)

              MfG, Thomas

              öhm.
              mache ich wieder etwas falsch?
              bei mir resetet sich da der vorherausgewählte button nicht :(

              1. Hallo,

                mache ich wieder etwas falsch?
                bei mir resetet sich da der vorherausgewählte button nicht :(

                Hast Du die Zeile an die richtige Stelle kopiert? Hier nochmal komplett:

                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                <html>
                <head>
                <title>Test by TM 09/03</title>
                </head>
                <body>
                mein code bis jetzt:
                <form name="form1">
                <!--
                <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++)this.form.ab[i].disabled=!this.checked;for(i=0;i<this.form.ab.length;i++)this.form.ab[i].checked=false"> 1, 2 oder 3 ? :)
                -->
                <input type="checkbox" name="angebot1" value="55" onclick="for(i=0;i<this.form.ab.length;i++){this.form.ab[i].disabled=!this.checked;this.form.ab[i].checked=false}"> 1, 2 oder 3 ? :)
                <br><br>
                <input type="radio" name="ab" value="1" disabled="disabled"> 1<br>
                <input type="radio" name="ab" value="2" disabled="disabled"> 2<br>
                <input type="radio" name="ab" value="3" disabled="disabled"> 3<br>
                </form>
                </body>
                </html>

                MfG, Thomas

        2. Hallo Thomas,

          sorry, ich nehme alles zurück. Dein Code funktioniert einwandfrei (und ich liebe solche Einzeler!)

          Grüße,
          bluntburn

  3. Hallo,

    was meinst Du mit "enablen" und "disablen"? "aktivieren" und "deaktivieren"? Leider ist mein Englisch nicht so gut und ich vermute es sind englische Begriffe.

    Lars

    1. genau :)
      da die befehle teilweise auch so heissen. enabled und disabled.

      gruss, michi

  4. Hi Michi,

    so geht's...

    <script>
    function switchRadios() {
     if(document.myForm.myCheckbox.checked==true) {
      for(i=0;i<document.myForm.myRadio.length;i++) document.myForm.myRadio[i].disabled=false;
     }
     else {
      for(i=0;i<document.myForm.myRadio.length;i++) document.myForm.myRadio[i].disabled=true;
     }
    }
    </script>
    <form name="myForm">
    <input type="checkbox" name="myCheckbox" onClick="switchRadios();"> 1, 2 oder 3 ? :)
    <br><br>
    <input type="radio" name="myRadio" value="1" disabled="disabled"> 1<br>
    <input type="radio" name="myRadio" value="2" disabled="disabled"> 2<br>
    <input type="radio" name="myRadio" value="3" disabled="disabled"> 3<br>
    </form>