IBM Thinkpad T60p

Dynamische Formular-Überprüfung mittels JavaScript

Christian 17. August 2009

Soeben habe ich ein JavaScript programmiert, welches dynamisch Formulare auswertet und überprüft. Ziel des Ganzen ist es, damit viel Programmierarbeit einzusparen, da nicht für jedes Formular ein einzelnes Skript geschrieben werden muss.

Ich möchte damit die ganzen verschiedenen Formulareingaben in phpMyCMS dynamisch überprüfen.

Die Verwendung ist ganz einfach: statt eines Submit-Buttons wird ein “einfacher” Button verwendet – dieser enthält einen Aufruf mit diversen Parametern. Der erste Parameter (und unbedingt dieser!) enthält den Namen des Formulars, die anderen (optionalen) Parameter enthalten die Namen der zu überprüfenden Felder. Ein Beispiel:

<input ... onclick="javascript:checkElements('test', 'titel', 'autor')" />

Das Skript überprüft dann die Felder und färbt nicht ausgefüllte Felder rot ein, sodass der Benutzer den Fehler gleich erkennt.

Das Ganze funktioniert zuverlässig. In einer zweiten Version will ich noch eine Unterstützung für Radio-Buttons, Checkboxen, etc. implementieren. Dies wird wohl eine Richtlinie für die Namensvergebung von Formularelementen mit sich führen. Ich denke da an Prefixes und werde wohl folgende verwenden:

  • - chk_ für Checkboxen
  • - rad_ für Radiobuttons
  • - sel_ für Select-Felder

Das Ganze sieht folgendermaßen aus:

checkForm v.0.1 in Aktion

checkForm v.0.1 in Aktion

Den Quellcode der vorläufigen phpMyCMS JavaScript-Funktionen mit dieser Funktion gibt es hier im SpongedPaste, ein Beispiel ist hier ebenfalls im Spongedpaste einsehbar.

2 Kommentare zu “Dynamische Formular-Überprüfung mittels JavaScript”

  1. Davidam 19. August 2009 um 08:51 Uhr

    Was nun noch fehlt ist die überprüfung auf validität z.B.:

    email -> Feld muss gültige email sein.
    tel -> Feld muss gültige tel sein.
    icq -> Feld muss gültige….

    Sowas wär noch schick :)

    lg
    David

  2. Christianam 19. August 2009 um 12:41 Uhr

    Hi David!

    Gestern habe ich eine neue Version davon fertiggestellt.
    Da gibts das jetzt für:

    - Postleitzahlen (sind 6 Stellen vorhanden?)
    - E-Mail (läuft noch nicht ganz so rund, soll guggen, ob ein @ vorhanden ist)
    - Checkboxen
    - Radiobuttons
    - Select-Containers

    Letztere drei leider ohne Highlightning bisher. Da wird noch gearbeitet. :)

    LG, Christian!

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben