Klaus Werner: radio disabled auf true setzen in netscape geht das nicht?

Hallo

ich habe mir ein JavaScript geschrieben wenn radio button1 nicht angeklickt ist, werden alle unterkategorien mit eigenen radio button's auf disabled gesetzt. (disabled = false)

wenn ich dann radio button2 klicke werden alle unterkategorien von butten2 auf aktiv gesetzt. (disabled = true)

das funktioniert alles wunderbar nur netscape macht bei dem spiel nicht mit. disabled wird erst gar nicht auf true gesetzt?

hat jemand erfahrungen woran das liegen könnte? Unterstützt Netscape die disabled Option gar nicht? Wenn nein, welche alternative habe ich?

Gruß Klaus Werner

  1. Hi,

    nur netscape macht bei dem spiel nicht mit.

    Netscape, aha. Kein Wunder, Netscape 3 konnte sowas ja auch noch nicht. Oder meinst Du Netscape 4? Oder 6? Eventuell sogar 7?

    disabled wird erst gar nicht auf true gesetzt?

    Was ist "disabled"? Wenn ich "alert(disabled)" ausgeben lasse, erhalte ich - hoffentlich - in keinem Browser ein vernünftiges Ergebnis.

    hat jemand erfahrungen woran das liegen könnte? Unterstützt Netscape die disabled Option gar nicht?

    Ich unterstelle, dass Du es einfach nur falsch machst. Mangels Angaben deinerseits lässt sich das aber nicht genauer sagen.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      nur netscape macht bei dem spiel nicht mit.

      Netscape, aha. Kein Wunder, Netscape 3 konnte sowas ja auch noch nicht. Oder meinst Du Netscape 4? Oder 6? Eventuell sogar 7?

      disabled wird erst gar nicht auf true gesetzt?

      Ich habe momentan 7.1 installiert Mozilla oder 4.7 würde ich im nächsten Schrritt testen muß es auch erstmal noch installieren.

      So sieht mein Script aus, wie gesagt in IE läuft es wunderbar!

      ---

      <script type="text/javascript">
       <!--
       function check_radio_1() { document.forms[0].a1.checked = false; }
       function check_radio_2() { document.forms[0].a2.checked = false; }

      function radio_nachnahme()
        {
        document.forms[0].vorkasse_de.checked = false;
        document.forms[0].vorkasse_eu.checked = false;
        }
       function radio_vorkasse_de()
        {
        document.forms[0].nachnahme.checked = false;
        document.forms[0].vorkasse_eu.checked = false;
        }
       function radio_vorkasse_eu()
        {
        document.forms[0].nachnahme.checked = false;
        document.forms[0].vorkasse_de.checked = false;
        }
       //-->
       </script>
        <form action="" method="post">
            <fieldset>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
           <tr>
          <td><input type="radio" name="a2"
                onpropertychange="
                nachnahme.setAttribute('disabled', !getAttribute('checked')),
                vorkasse_de.setAttribute('disabled', !getAttribute('checked')),
                vorkasse_eu.setAttribute('disabled', !getAttribute('checked'))
                " onClick="check_radio_1()">
          </td>
          <td>Versand- und Zahlungsart</td>
           </tr>
           <tr>
          <td> </td>
          <td>
            <input type="radio" name="nachnahme" value="ON" disabled onClick="radio_nachnahme()">
              Post (bis 30 kg) bei Nachnahme<br>
            <input type="radio" name="vorkasse_de" value="ON" disabled onClick="radio_vorkasse_de()">
              Post (bis 30 kg) bei Vorkasse <br>
            <input type="radio" name="vorkasse_eu" value="ON" disabled onClick="radio_vorkasse_eu()">
              Post (bis 25 kg) bei Vorkasse auß erhalb Deutschland
          </td>
           </tr>
          </table>
          </fieldset>

      <br>

      <fieldset>
           <table width="100%" border="0" cellspacing="0" cellpadding="0">
                   <tr>
            <td>
            <input type="radio" name="a1" onClick="check_radio_2()"
                onpropertychange="
                f_tag.setAttribute('disabled', !getAttribute('checked')),
                f_mon.setAttribute('disabled', !getAttribute('checked')),
                f_jahr.setAttribute('disabled', !getAttribute('checked')),
                f_zeit_h.setAttribute('disabled', !getAttribute('checked')),
                f_zeit_m.setAttribute('disabled', !getAttribute('checked'))
                ">
            selbst Abholung / Barzahlung Tag:
            <input type="text" name="f_tag" size="2" maxlength="2" value= "26"disabled>
            Monat:
            <input type="text" name="f_mon" size="2" maxlength="2" value= "02"disabled>
            Jahr:
            <input type="text" name="f_jahr" size="4" maxlength="4" value= "2004"disabled>
            Zeit:
            <input type="text" name="f_zeit_h" size="2" maxlength="2" value= "15"disabled>
            :
            <input type="text" name="f_zeit_m" size="2" maxlength="2" value= "57"disabled>
            </td>
           </tr>
         </table>
            </fieldset>
           <input name="weg" type="submit" value="weg damit!"> <input type="hidden" name="Pg_reused" value="1">
        </form>

      1. Hi,

        disabled wird erst gar nicht auf true gesetzt?

        Du willst also im Prinzip das erreichen:
        <input type="radio" disabled="true">

        Das KANN m.E. ja auch nicht funktionieren, denn true ist kein gültiger Wert für das disabled-Attribut.
        M.E. müßtest Du das Attribut auf "disabled" setzen (oder, um den Radiobutton zu enablen, das Attribut entfernen).

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Wieso kann das nicht klappen??? Probier es selber aus schliesslich geht es ja in IE!!! Deswegen weiß ich nicht was Du mir nun einreden willst???

          Das wird ein Problem von Netscape sein...

          1. Hi,

            Wieso kann das nicht klappen???

            Weil das disabled-Attribut weder den Wert true noch den Wert false kennt in HTML.

            Probier es selber aus schliesslich geht es ja in IE!!!

            Das war noch nie ein Argument dafür, daß etwas richtig ist.

            cu,
            Andreas

            --
            MudGuard? Siehe http://www.Mud-Guard.de/
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. aber mit disabled blende ich die felder aus anders geht es nicht oder hast du ein anderen vorschlag?

              mir kommt das so vor das du ein klugscheisser bist weil sonst hättest du den code schon ausprobiert. von wegen mir zusagen das ist kein argument das es richtig ist.

              ich habe gesagt in ie geht es! und in ie ist es richtig schau dir mal die msdn an dann wüßtest du bescheid aber netscape macht da probleme.

              und komm mir bloss nicht mit dem argument ie ist kein standard wenn es nach dem w3c geht... jaja das ist mir auch klar aber das der ie auf 98% aller rechner installiert ist davon will keiner von den fanatikern was von wissen.

              1. Moin!

                ich habe gesagt in ie geht es! und in ie ist es richtig schau dir mal die msdn an dann wüßtest du bescheid aber netscape macht da probleme.

                Du willst die Radiobuttons "onpropertychange" ändern. Das ist ein Eventhandler, den Microsoft sich für den IE ausgedacht hat, und den sonst kein Browser kennt.

                Deshalb gilt die alte Leier: Was der IE macht, ist kein Beweis für Korrektheit. Man fängt nicht mit dem IE zu entwickeln an, sondern mit einem standardkonformen Browser wie dem Mozilla oder Opera.

                Was das Beeinflussen von Formularelementen angeht: Man muß nicht mit supa-dupa-DOM-Methoden da rangehen, die Oldstyle-Methode, wie sie in SelfHTML beschrieben ist, funktioniert auch heute noch immer prima.

                Und die bedeutet:
                document.forms['formularname'].elements['radiobuttonname'][indexnummer].disabled = true/false;
                (So allgemein wie möglich geschrieben)

                und komm mir bloss nicht mit dem argument ie ist kein standard wenn es nach dem w3c geht... jaja das ist mir auch klar aber das der ie auf 98% aller rechner installiert ist davon will keiner von den fanatikern was von wissen.

                Das Problem ist: Wenn du was einbaust, was nur der IE kann, dann kriegst du Probleme, das im Rest der Browser zu realisieren. Wenn du hingegen was einbaust, was dem Standard entspricht, hast du wesentlich weniger Probleme, das auch im IE hinzukriegen - der hat im Zweifel dermaßen viele Extrawürste und nichtstandardisierte Erweiterungen, dass da sicherlich was geht.

                Und im Zweifel verfügst du über soviel Erfahrung mit IE und Standard-Browsern, dass du die Sachen, die Probleme im IE machen, gleich anders löst oder wegläßt.

                - Sven Rautenberg

                --
                Among the maxims on Lord Naoshige's wall, there was this one: "Matters of great concern should be treated lightly."
                Master Ittei commented, "Matters of small concern should be treated seriously."
                (Hagakure: The Way of the Samurai)