T-Rex: onblur ausführen

Moin allerseits,

da gibts so ein Input feld und es gibt eine Javascript Funktion. Das Inputfeld ist ein Datumfeld und die Javascript Funktion prüft ob das Datum korrekt ist. Die Funktion wird ausgeführt sobald das Feld verlassen wurde also bei onblur="checkDatum()". Wenn das Feld leer ist oder falsches Datum enthält wird es farbig markiert.

Das gemeine ist dass ich eine Möglichkeit gebaut hab das Feld von außen zu bestücken. Das Problem ist, es stehen korrekte Daten in dem Feld aber es kann unter umständen noch farbig markiert sein, sprich es wird symbolisiert das falsche Daten im Feld stehen, obwohl korrekte Daten reingeladen wurden.

Jetzt hab ich nicht nur 1 Datums feld sondern noch andere Felder z.B. ein Betragfeld etc... Also die Idee das man die Funktion direkt aufruf funktioniert nicht, da man sonst die checkDatum() für ein Betrag feld aufruft und so weiter.
Es muss also was dynamisches sein.

Die Funktionen die aufgerufen werden sollen stehen alle bei onblur. Es wäre also Klasse wenn sowas gehen würde:
document.getElementById(FELD).onblur;

hab sowas in verschiedenen Kombinationen ausprobiert, aber leider ohne erfolg :(.
Vielleicht wisst ihr Rat?

Danke fürs lesen
T-Rex

  1. Hi,

    Die Funktionen die aufgerufen werden sollen stehen alle bei onblur. Es wäre also Klasse wenn sowas gehen würde:
    document.getElementById(FELD).onblur;

    das wäre nicht nur klasse, es ist es auch. Jetzt rufe Dir nur noch ins Gedächtnis, wie man Funktionen aufruft.

    hab sowas in verschiedenen Kombinationen ausprobiert,

    Beispielsweise in welchen?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      »» Die Funktionen die aufgerufen werden sollen stehen alle bei onblur. Es wäre also Klasse wenn sowas gehen würde:
      »» document.getElementById(FELD).onblur;

      das wäre nicht nur klasse, es ist es auch. Jetzt rufe Dir nur noch ins Gedächtnis, wie man Funktionen aufruft.

      »» hab sowas in verschiedenen Kombinationen ausprobiert,

      Beispielsweise in welchen?

      Cheatah

      Hi Cheatah,

      Also ich hab erstmal das Element in eine Variable gespeichert:
      feld = opener.document.getElementById(feld);

      Da ich das ganze aus einem anderen Fenster heraus machen möchte steht "opener" dabei (eventuell ist das, dass problem?).

      feld.onblur()   ->   Fehler keine Funktion
      feld.onblur     ->   Kein Fehler, passiert aber nix
      feld.blur()     ->   Kein Fehler, passiert aber nix
      feld.blur       ->   Kein Fehler, passiert aber nix

      Hab auch gedacht das ich einfach die funktion onblur() aufrufe...hmmm...
      Ich teste (erstmal) mit Firefox 3.

      Danke für deine Hilfe

      1. Hi,

        »» Hi,

        bitte zitiere nur das, worauf Du Dich beziehst, danke.

        Da ich das ganze aus einem anderen Fenster heraus machen möchte steht "opener" dabei (eventuell ist das, dass problem?).

        Das halte ich für unwahrscheinlich, wenn auch nicht unmöglich. Bitte stelle eine Testseite ins Netz, mit der man das Problem nachvollziehen kann.

        feld.onblur()   ->   Fehler keine Funktion

        Was genau hast Du denn auf welche Weise in dem Event-Handler gespeichert?

        Hab auch gedacht das ich einfach die funktion onblur() aufrufe...hmmm...

        window.onblur() ist sicher nicht das, was Du suchst.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    wenn du im HTML
       <element onblur="irgendwas">
    notierst, solltest du in JavaScript (danach bzw. beim window.onload)
       elementObjekt.onblur()
    aufrufen können.

    Falls das in deinem Fall nicht geht: Liefere uns mehr Informationen.

    Mathias