Javascript: onSubmit überprüfen
-
Hallo,
in einem HTML Formular gibt es ein paar Felder, welche nur Zahlen enthalten dürfen. Sobald der User ein anderes Zeichen eingibt sollen diese Eingabefelder mit rotem Background ausgestattet werden. Das funktioniert auch gut mit der function isNumeric.
Des Weiteren möchte ich erreichen, dass das Formular nur dann abgeschickt werden kann, wenn keine Fehler mehr vorhanden sind.
Hierzu wollte ich mir eine globale Variable var err = 0; installieren, die bei jedem Fehler vergrößert wird um eins und wenn dieser Fehler ausgemerzt wird, wieder verkleinert wird; d.h. bei Submit wird die pruef() funktion aufgerufen, und wenn err = 0 ist, soll das Formular abgeschickt werden, ansonsten nicht.
Mein Problem ist das richtige Setzen der globalen Variable; wie kann ich das kurz und knapp schreiben?
Anbei die beiden Javascript Funktionen:
var err = 0; function isNumeric(item) { var numeric = /^[0-9]+$/; if (item.value.match(numeric)) item.style.background = 'silver'; else { item.style.background = 'red'; err++; } } function pruef() { if (err) return false; }
Vielen Dank für eure Hilfe
Gruß
Bernd
-
Oder (fällt mir grad ein) gibt es die Möglichkeit, sobald ein falsches Zeichen eingegeben wird, das dies verhindert wird? Also dass dieses Zeichen per Javascript sofort wieder gelöscht wird?
Gruß
Bernd
-
Hallo,
Ja! Sinnvollster Weg wäre wohl eine Whitelist (definieren welche Zeichen erlaubt sind).
function check(element) { if (element.value.match(/^[0-9a-zA-Z]+$/)) return true; return false; } <input type="text" name="tolleselement" onkeydown="return check(this);" />
VlG