David Klein: Bestimmten <input>-Feldern je nach Event CSS-Stile zuweisen

Beitrag lesen

Guten Tag zusammen,

nachdem ich weit und breit nichts Passendes gefunden habe (FAQ u.Ä.), versuche ich mein Glück hier.

Meine Funktion (s.u.) soll Folgendes bezwecken: Sie weist jedem Formularelement, in welches der Benutzer Text eingeben kann, einen Style zu. Dies soll in Abhängigkeit der Events onFocus und onBlur geschehen. Nun bin ich mir nicht sicher, wie ich innerhalb der "if"-Anweisung die Events onFocus und onBlur definieren soll. element.focus() bzw. element.blur() setzt ja nur den Fokus bzw. entfernt diesen wieder. Damit wird's also nicht funktionieren.

  
  
function changeBgColor()  
{  
  for (var i = 0; i < document.forms[0].elements.length; i++)  
  {  
    var element = document.forms[0].elements[i];  
  
    /* Nur Texteingabefelder, die nicht deaktiviert sind*/  
    if (  
        (  
         (element.type == "textarea") ||  
         (element.type == "text") ||  
         (element.type == "password")  
        )  
        && (element.disabled == false)  
       )  
    {  
      /* wenn element Fokus erhält => setze backgroundColor weiß */  
      /* wenn element Fokus verliert => setze backgroundColor grün */  
    }  
  }  
}  
  

Wie gesagt, mir ist nicht bekannt, dass ich abfragen kann, ob ein Element gerade den Fokus hat oder ihn gerade verliert, sonst hätte ich innerhalb der Kommentarzeichen ja schon die Lösung in "Klartext". Wenn von euch jemand Rat weiß oder mich "mit der Nase drauf stößt", wäre ich sehr dankbar. Ich erwarte auch keine fertige Lösung...

Mit den besten Grüßen,

David Klein

--

isipublisher@mail.isis.de