michael: checkbox bei onclick auf anderes feld disabeln

hallo alle zusammen,

ich möchte bei einem Klick in ein Dateiuploadfeld eine checkbox disabeln.

aber irgendwie bekomme ich die syntax dazu nicht zusammen.
bisher sieht mein file-field so aus:

<input name="comp_logo" type="file" id="comp_logo" size="30" onClick="this.edit.comp_logo_chk.disabled">

mein formular heißt edit, die checkbox hat die id="com_logo_chk",
also eigentlich müßte doch alles stimmen.. aber irgendwie klappt das nicht.

kann mir bitte mal jemand auf die sprünge helfen ;-)  ?

grüße,
michael

  1. Hallo michael,

    <input name="comp_logo" type="file" id="comp_logo" size="30" onClick="this.edit.comp_logo_chk.disabled">

    this.form.comp_logo_chk.disabled = true;

    mein formular heißt edit,

    Irrelevant, weil edit höchstens als Kind von document verfügbar ist, jedoch nicht als Kind von this in einem File-Upload-Feld.

    die checkbox hat die id="com_logo_chk",

    Wichtig ist bei dieser Art von Zugriff der Name und nicht die ID. Wenn Du die ID ansprechen willst, dann über document.getElementById('comp_logo_chk').disabled = true; (geht allerdings nur in Browsern, die DOM hinreichend unterstützen; die andere Variante über den Namen funktioniert in so ziemlich jedem Browser, der JavaScript und deaktivierte Formularfelder unterstützt. (d.h. der einzige Problemfall bei der getElementById-Lösung dürfte der IE4 sein; NS4 unterstützt ja sowieso keine deaktivierten Formularfelder)

    also eigentlich müßte doch alles stimmen..

    Nein, schließlich referenzierst Du die Eigenschaft falsch und musst Ihr auch noch einen Wert zuweisen.

    Allerdings bin ich mir nicht ganz sicher, ob das bei einem Dateiuploadfeld überhaupt funktioniert (aus Sicherheitsgründen) - das musst Du mal probieren.

    Viele Grüße,
    Christian