diabled automatisch deaktivieren

  • Ich habe da eine komplizierte Frage. Vielleicht hat mir jemand einen Tipp:
    -> Ich habe eine select-abfrage mit name="001", name="002", etc. Bis 500 geht es. Danaben steht eine Checkbox "zeigen", welche deaktiviert ist. Nun möchte ich, dass wenn man von der Select-Abfrage eines auswählt, welches existiert (also 001.png), die Checkbox "zeigen" nicht mehr dismisabled ist.
    Man sollte aber nich zuerst auf "Prüfen" oder so klicken müssen - sowas könnte ich dann auch wieder^^

    Grüsse,
    Ralf
    P.S: Hoffentlich versteht mich jemand. :D

  • verstehen is schwierig, aber die lösung wie ich finde einfach...
    mal nen ungetesteter ansatz:
    ins onchange-event vom select-feld musste ne funktion aufrufen, die letztlich nix anderes macht als disabled = "false" auf die checkbox anwendet.

    hätte die checkbox die id "box" sähe die funktion so aus...

    Code
    function enableBox(boxId, zustand){
    var target = document.getElementById(boxId);
    target.disabled= zustand;
    }

    und des event wäre dann

    HTML
    onchange="enableBox('box', '')"

    3 Mal editiert, zuletzt von synaptic (18. Dezember 2008 um 21:54) aus folgendem Grund: fehler berichtigt

  • Du möchtest, dass bei einer Auswahl aus der Select-Box eine Anfrage an ein php-Script geschickt wird, welche mittels mysql oder file_exists oder wie auch immer rausfindet, ob die gewünschte Auswahl existiert. Falls ja soll die checkbox 'zeigen' aktiviert werden. Richtig?
    Das machst du mit Ajax.

    Alternativ kannst du, wenn es sich um eine begrenzte Auswahl handelt, schon beim Generieren der Selectbox einen JavaScript-Array füllen, mit dem Value der entsprechenden Auswahl als key und als value eben true oder false, je nachdem ob das entsprechende Element existiert oder nicht. Bei onChange der Select-Box fragst du diesen Boolean-Wert dann über den ausgewählten key ab und entsprechend aktiviert sich dann deine Checkbox, oder auch nicht.

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

    Einmal editiert, zuletzt von SinnlosS (18. Dezember 2008 um 09:23)

  • Hm, ja genau - sowas will ich.
    Nur habe ich mich noch nie mit Ajax beschäftigt, und hoffte, das jemand einen Link oder so zu einer Hilfeseite weiss. Google wollte mir nicht helfen *motz*

  • Da sind 2 fehler drin

    Code
    <script>
    function enableBox(boxId){
    document.getElementById(boxId).disabled="";
    }
    </script>
    HTML
    onchange="enableBox('box')"

    ist auch viel einfacher
    wenns auch noch ausgehen muss siehts so aus

    Code
    <script>
    function enableBox(boxId,deakt){
    document.getElementById(boxId).disabled=deakt;
    }
    </script>
    HTML
    <!--Ausschalten-->
    onchange="enableBox('box', 'disabled')"
    <!--Einschalten-->
    onchange="enableBox('box', '')"
  • also wo setze ich variablen??
    und so wie es oben steht funktioniert es bei mir...
    hab das "false" durch ein '' ausgetauscht und es geht, schreibt man true rein, statt der leeren hochkommata wird auch disabled.

    und diese methode funktioniert für alle form-elemente die eine ID haben und auf disabled sind!