dave: Checkbox disabled und onclick

Hallo,
kann es sein das eine Checkbox (vermutlich auch andere input elemente, nur mit checkbox versucht) die disabled ist nicht auf onclick reagiert?

<input type="checkbox" disabled="true" onclick="alert('asdf')">

Ich kann im FF2 und IE7 rumklicken wie ich will, es kommt kein Alert.

Stell ich mich grad zu dumm an oder geht das schlicht nicht?
Falls letzteres, irgendwelche alternativ Vorschläge bei einer disableden Checkbox ein Javascript auszuführen wenn drauf geklickt wurde?

Hoffe mein Problem ist verständlich.

Vielen Dank für Eure Hilfe.

  1. Hi dave!

    Falls letzteres, irgendwelche alternativ Vorschläge bei einer disableden Checkbox ein Javascript auszuführen wenn drauf geklickt wurde?

    Wenn das Event nicht ausgelöst wird, kannst du es auch nicht abfangen.
    Du müsstest dir eine eigene Checkbox schreiben!

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Wenn das Event nicht ausgelöst wird, kannst du es auch nicht abfangen.
      Du müsstest dir eine eigene Checkbox schreiben!

      Dass das Event nicht ausgeführt wird ist offensichtlich, nur frage ich mich warum?
      onchange ist nur logisch das es nicht ausgeführt wird, nur es ist doch beim drauf klicken erstmal egal ob das element das angeklickt wurde irgendwas damit macht?

      ich finds zumindest komisch, aber nochmal Dank an alle die geantwortet haben.

      1. Hi,

        onchange ist nur logisch das es nicht ausgeführt wird, nur es ist doch beim drauf klicken erstmal egal ob das element das angeklickt wurde irgendwas damit macht?

        Die MSDN definiert fuer disabled:
        "When an element is disabled, it appears dimmed and does not respond to user input. Disabled elements do not respond to mouse events [...]"

        • in gewissem Umfang also vielleicht verstaendlich, dass dann auch onclick nicht ausloest.

        Und <http://www.w3.org/TR/1998/REC-html40-19980424/interact/forms.html#adef-disabled@title-HTML 4.0> definierte fuer disabled:
        "When set for a form control, this boolean attribute disables the control for user input.
        [...] In this example, the INPUT element is disabled. Therefore, it cannot receive user input [...]"

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
  2. Hi Dave,

    Stell ich mich grad zu dumm an oder geht das schlicht nicht?

    Geht nicht.

    Falls letzteres, irgendwelche alternativ Vorschläge bei einer disableden Checkbox ein Javascript auszuführen wenn drauf geklickt wurde?

    Denkbare Variante:

    1. erzeuge ein transparentes GIF, lade es mittels <img> auf deine Seite.
    2. füge dem GIF einen onclick eventhandler hinzu.
    3. lege dieses GIF (z-Index) über die checkbox, wenn diese disabled wird.

    Anmerkung: wenn die Checkbox enabled wird, mußt du das GIF mittels z-Index in den Hintergrund legen, da das GIF sonst verhindert, dass die checkbox geclickt werden kann...

    Grüße,
    Richard

  3. Hi,

    ja das ist in der Tat der Fall. Bei Textfeldern ist es oft ausreichend, es auf readonly zu stellen, um einen ähnlichen Effekt wie disabled zu erhalten.
    Weiß aber nicht, was readonly bei Checkboxen bewirkt.

    Ansonsten vielleicht mal noch mit mousedown probieren.

    Gruß!

  4. Mahlzeit dave,

    kann es sein das eine Checkbox (vermutlich auch andere input elemente, nur mit checkbox versucht) die disabled ist nicht auf onclick reagiert?

    Wieso sollten sie? Wenn sie deaktiviert sind, sind sie deaktiviert.

    Falls letzteres, irgendwelche alternativ Vorschläge bei einer disableden Checkbox ein Javascript auszuführen wenn drauf geklickt wurde?

    Aktiviere sie.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Wieso sollten sie? Wenn sie deaktiviert sind, sind sie deaktiviert.

      Bitte erklär mir warum ein onclick event nicht gefeuert wird wenn ich drauf klicke.
      disabled bezieht sich also nicht auf die besondere Funktionalität des input elements sondern auf die allgemeinen funktionalitäten von elementen?

      wenn ich <a href="sldfjk" onclick="return false;" disabled="true">asdf</a> hab, was passiert dann?
      nichts, deshalb finde ich es unlogisch das es bei input elementen anders ist

      Aktiviere sie.

      Gute Idee!

      1. disabled bezieht sich also nicht auf die besondere Funktionalität des input elements sondern auf die allgemeinen funktionalitäten von elementen?

        nein, das element kann nur keinen user input mehr annehmen (onclick ist ein form von input) und die formulardaten werden nicht übermittelt

        http://www.w3.org/TR/html401/interact/forms.html#adef-disabled
        "[...] element is disabled. Therefore, it cannot receive user input [...]"

      2. Hi dave!

        wenn ich <a href="sldfjk" onclick="return false;" disabled="true">asdf</a> hab, was passiert dann?
        nichts, deshalb finde ich es unlogisch das es bei input elementen anders ist

        Im Gegensatz zum <input>-Element, besitzt <a> kein Attribut disabled.

        Übrigens würde man XHTML-konform <input type="checkbox" name="foo" disabled="disabled" /> schreiben.

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      3. Mahlzeit dave,

        Wieso sollten sie? Wenn sie deaktiviert sind, sind sie deaktiviert.

        Bitte erklär mir warum ein onclick event nicht gefeuert wird wenn ich drauf klicke.

        Weil das Element deaktiviert ist.

        wenn ich <a href="sldfjk" onclick="return false;" disabled="true">asdf</a> hab, was passiert dann?

        Kommt darauf an - es ist nicht definiert, was mit <http://de.selfhtml.org/html/referenz/attribute.htm#a@title=invalidem HTML> passiert. Ein <a>-Element hat in HTML kein "disabled"-Attribut.

        nichts, deshalb finde ich es unlogisch das es bei input elementen anders ist

        Es ist überhaupt nicht unlogisch, dass ein Element, das über ein Attribut deaktiviert werden kann, inaktiv ist, wenn es über dieses Attribut deaktiviert wurde.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      4. Hi!

        Bitte erklär mir warum ein onclick event nicht gefeuert wird wenn ich drauf klicke.

        Wieso sollten sie? Wenn sie deaktiviert sind, sind sie deaktiviert.

        Wenn du tot bist, merkst du ja auch nicht, wenn ich dir vor's Schienbein trete. Wenn du dir aber bspw. nur die Augen oder Ohren zuhälst, wirst du es vermutlich merken (Holzbeine mal außen vor). ;-)

        Mit disabled legst du ein Element quasi tot.
        BTW: Die XHTML konforme Schreibweise ist disabled="disabled", ansonsten reicht ein einfaches disabled.

        Gruß Gunther

        1. Hi,

          Wenn du tot bist, merkst du ja auch nicht, wenn ich dir vor's Schienbein trete. Wenn du dir aber bspw. nur die Augen oder Ohren zuhälst, wirst du es vermutlich merken (Holzbeine mal außen vor). ;-)

          Nett hinkender Vergleich -

          Mit disabled legst du ein Element quasi tot.

          • insb., wenn wir uns mal klar machen, wofuer man im Englischen die Bezeichnung "disabled" (in Bezug auf Menschen) verwendet ...

          MfG ChrisB

          --
          „This is the author's opinion, not necessarily that of Starbucks.“
  5. Hi,

    Falls letzteres, irgendwelche alternativ Vorschläge bei einer disableden Checkbox ein Javascript auszuführen wenn drauf geklickt wurde?

    Fange den click-Event bspw. auf einem um die Checkbox herumliegenden label-Element ab. (Das Bubbling des Events duerfte ja trotz des disabled-Status stattfinden.)

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“