Don P: onclick zusammenfassen

Beitrag lesen

Hallo,

Größere Korrektur:

Du weißt doch, „[was hingegen schwer ist, ist in die Köpfe der Menschen zu bringen]“.

Nicht CSS-Eigenschaften per JavaScript ändern, sondern Klassen setzen oder in diesem Fall das geeignete @disabled-Attribut:

Ja sicher, aber ich wollte hier keine Doktorarbeit daraus machen ;)
Das ganze Konzept im OP scheint mir ohnehin nicht richtig durchdacht, warum da noch CSS und alles mögliche reinbringen. Zugegeben, das:

var ausblenden = function (id) { with(el(id)){ value = 0; disabled = true; } }
var einblenden = function (id) { with(el(id)){ value = 1; disabled = false; } }

Im Stylesheet steht:

input[disabled] { display: none }

ist recht elegant, aber disabled ja nicht nicht grundsätzlich dasselbe wie display=='none'. Vielleicht gibt es noch andere inputs, die mitunter wirklich disabled sind, d.h. in der Regel sichtbar, aber ausgegraut und nicht bedienbar. Auch diese würden dann verschwinden.

PS: AFAIR ist die Verwendung von with() deprecated.

Ist es? Mozillas Rhino-Engine hat zwar anscheinend gewisse Probleme, Zitat: "Using the with statement prevents the compiler from generating code for fast access to local variables. You're probably better off explicitly accessing any properties of the object."

Aber in unserem Fall hier ist es wohl eher umgekehrt: Lokale Variablen werden im With-Block gar nicht angesprochen, dafür stehen aber zuerst die Eigenschaften des zu manipulierende Objekts in der Scope-Chain, werden also schnell gefunden. Deshalb habe ich hier ausnahmsweise with benutzt, und natürlich auch weil der Code dadurch übersichtlicher wird.

Gruß, Don P