Halilofax: setAttribute("disabled", true) wird in Firefox nicht ausgeführt

Hallöchen!

Ich habe das Problem, dass bei mir der Aufruf der Function
document.getElementById("Liste1").setAttribute("disabled", true)
für eine Auswahlliste in Firefox 3.6.11 nicht ausgeführt wird!

Oder noch besser gesagt, wird die Function
document.getElementById("Liste1").setAttribute("disabled", false)
nicht ausgeführt, so dass ich zum aktivieren der Auswahlliste die Function
document.getElementById("Liste1").removeAttribute("disabled")
benutzen musste.

Wodurch könnte diese Problematik verursacht werden?

Um der frage vor zu beugen, warum ich ein angezeigtes Feld überhaupt deaktivieren will/muss, will ich sagen, dass es sich um eine Seite handelt, deren Daten zu Beginn aus verschiedenen Datenbanken ausgelesen wird und nur der Inhalt zweier (von 3) Auswahllisten interaktiv von der Auswahl der vorherigen ändert. Und nur wenn keine Auswahl stattgefunden hat, soll aus Gründen der Übersichtlichkeit die nachfolgende (abhängige) Liste grau (inaktiv) oder aktiv sein.

Nur bekomme ich sie beim erstmaligen laden inaktiv, dann auch aktiv, wenn aber die erste Liste zurück gesetzt wird bekomme ich die Folgelisten nicht mehr deaktiviert. Oder im Falle das ich nicht
document.getElementById("Liste1").removeAttribute("disabled")
benutze schon beim ersten benutzen, nicht aktiviert!

Wo liegt das Problem? Oder wo liegt mein "Denkfehler"?

  1. Hallo,

    document.getElementById("Liste1").setAttribute("disabled", true)
    für eine Auswahlliste in Firefox 3.6.11 nicht ausgeführt wird!

    warum setzt Du die Eigenschaft nicht direkt? Das ist wesentlich unproblematischer als setAttribute() zu verwenden.

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      document.getElementById("Liste1").setAttribute("disabled", true)
      für eine Auswahlliste in Firefox 3.6.11 nicht ausgeführt wird!

      warum setzt Du die Eigenschaft nicht direkt? Das ist wesentlich unproblematischer als setAttribute() zu verwenden.

      Freundliche Grüße

      Vinzenz

      Das mach ich auch, im body wird die 2. und 3. Auswahlliste zu erst disabled!

      Aber wenn der "Besucher" eine Auswahl in der immer aktiven 1. Auswahlliste getätigt hat, wird je nach selectedIndex der Inhalt der 2. Auswahlliste angepasst und (wenn vorher deaktiviert dann) aktiviert.

      Anders herum wir (soll) die 3. Auswahlliste deaktiviert werden, wenn der Benutzer die erste Auswahlliste ändert, weil dann erst in der 2. Liste neu ausgewählt werden kann, ehe der Inhalt der 3. Liste überhaupt neu gefüllt werden kann.

      1. Hallo,

        document.getElementById("Liste1").setAttribute("disabled", true)
        für eine Auswahlliste in Firefox 3.6.11 nicht ausgeführt wird!

        warum setzt Du die Eigenschaft nicht direkt? Das ist wesentlich unproblematischer als setAttribute() zu verwenden.

        Das mach ich auch, im body wird die 2. und 3. Auswahlliste zu erst disabled!

        das meine ich doch gar nicht.
        Warum verwendest Du nicht

        document.getElementById("Liste1").disabled = true;

        statt des problematischen setAttribute()?

        Freundliche Grüße

        Vinzenz

        1. Hallo,

          document.getElementById("Liste1").setAttribute("disabled", true)
          für eine Auswahlliste in Firefox 3.6.11 nicht ausgeführt wird!

          warum setzt Du die Eigenschaft nicht direkt? Das ist wesentlich unproblematischer als setAttribute() zu verwenden.

          Das mach ich auch, im body wird die 2. und 3. Auswahlliste zu erst disabled!

          das meine ich doch gar nicht.
          Warum verwendest Du nicht

          document.getElementById("Liste1").disabled = true;

          statt des problematischen setAttribute()?

          Freundliche Grüße

          Vinzenz

          Mann, was bin ich manchmal für ein Depp!!

          Jetzt wo ich dein "Beispiel" gesehen habe viel es mir wieder wie "Schuppen von den Augen"! Ich selbst hatte dein "Beispiel" schon des öfteren benutzt, aber irgend wie falle ich immer und immer wieder auf dieses setAttribute() zurück!?

          Habt beide vielen Dank!! Ich glaub ich hätte mir hier noch einen "Wolf" gesucht, ehe ich mal selbst darauf gekommen wäre. Also noch mal Dank!^^

  2. Hi,

    Oder noch besser gesagt, wird die Function
    document.getElementById("Liste1").setAttribute("disabled", false)
    nicht ausgeführt,

    das ist in der Tat besser gesagt. "disabled" ist ein Boole'sches Attribut, das heißt *jeder* Wert besagt, dass das Element als disabled gilt. Die Existenz des Attributs ist für dessen Funktion bedeutend. Auch der Wert "false" ist ein Wert - und ja, Du gibst "false" an, nicht false.

    Wodurch könnte diese Problematik verursacht werden?

    Durch Dein Missverständnis der Bedeutung Boole'scher Attribute. Folge Vinzenz' Rat.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes