D.R.: Formularfeld "onfocus" einfärben

Beitrag lesen

Hallo,

foo.setAttribute("onFocus","function(){foo.style.backgroundColor = '#FFFFFF'");
und auch:
foo.setAttribute("onFocus",foo.style.backgroundColor = '#FFFFFF');
machen jedoch nicht das gewünschte.

das ist auch nicht weiter überraschend, denn ein Attribut bzw. eine Eigenschaft onFocus ist dem Objekt bis dato unbekannt und hat keine weitere Bedeutung. Was du meintest, ist vermutlich onfocus.
Bedenke immer: Javascript ist case-sensitive!

Wenn Steffen HTML verwendet spielt das AFAIK keine Rolle, denn setAttribute() setzt in Browsern Attribute, keine Eigenschaften und Attribute sind nicht case-sensitive.

Das das nicht funktioniert, liegt im ersten Beispiel daran, dass die function() dort nicht hingehört und im 2. Beispiel fehlen 1. Die Anführungsstriche und 2. dürfte foo nicht mehr verfügbar sein.

mfg. Daniel