Style per JS auf globalen Style 'zurücksetzen'
windhund
- css
hi
ich habe ein inputfeld, was im Fehlerfall rot eingefärbt sein soll und dessen Text (Fehlerhinweis) weiss dargestellt werden soll. Also baue ich in etwa sowas hier:
<input type="text" value="bitte Formulareingaben korregieren" style="background:#ef3c3c; color:#ffffff" onClick="resetStyle(this);" name="username" />
function resetStyle(obj)
{
obj.style.background="#cdcdcd"; // Grauwert wieder herstellen
obj.style.color="#000000"; // Formtext schwarz
obj.value=""; // Hinweistext löschen
}
per Click soll, wie man sieht, der style wieder ganz 'normal' erscheinen. das funkt. soweit wunderbar. bloss: ich möchte nicht, daß resetStyle() einen neuen Style definiert, sondern die styledefiniton "zurücknimmt", die ich im <input> feld direkt def. habe. Das Formular sowie die ganze Page hat nämlich einen korrekten _globalen_ Style, der nicht angetastet werden soll. Er kann sich später nämlich durchaus mal ändern, und dann soll der Code möglichst nicht mehr angefasst werden. Klar soweit? Für den obigen Fall könnte ich auch eine class="" einführen, die den Style erledigt, bloss, onClick soll dann wieder der globale, geerbte Style gültig sein.
Was ist möglich?
Danke, Gruß
Hi,
Für den obigen Fall könnte ich auch eine class="" einführen, die den Style erledigt, bloss, onClick soll dann wieder der globale, geerbte Style gültig sein.
Mach genau das - gebe dem Inputfeld im Fehlerfalle eine entsprechende Klasse, und nehne sie wieder weg, wenn der Fehler beseitigt wurde und der normale Stil wieder gelten soll.
MfG ChrisB
Mach genau das - gebe dem Inputfeld im Fehlerfalle eine entsprechende Klasse, und nehne sie wieder weg, wenn der Fehler beseitigt wurde und der normale Stil wieder gelten soll.
Ok klingt auch besser. Bloss - wie? Codebeispiel?
Hi,
Mach genau das - gebe dem Inputfeld im Fehlerfalle eine entsprechende Klasse, und nehne sie wieder weg, wenn der Fehler beseitigt wurde und der normale Stil wieder gelten soll.
Ok klingt auch besser. Bloss - wie? Codebeispiel?
Ananlog zum bisherigen Code - nur nicht auf style-Eigenschaften zugreifen, sondern auf die Klasse.
MfG ChrisB
Ananlog zum bisherigen Code - nur nicht auf style-Eigenschaften zugreifen, sondern auf die Klasse.
im Klartext also sowas wie:
document.forms.formular.inputfeld.className = "globalKlasse.css";
danke, werd's versuchen (nach den Feiertagen) :)