Wie prüfen, ob Zeichen doppelt eingegeben wurde?
RichiPitchi
- javascript
Hallo,
ich habe hier folgende Frage:
Wie kann ich über Javascript mit If Else prüfen, ob im Eingabefeld ein Zeichen doppelt hintereinandner eingegeben wurde?
<script type="text/javascript">
function chkFormular () {
if (document.login.Cpatcha.value == "EIN ZEICHEN DOPPELT HINTEREINANDER")
{
location.href = "error.html";
document.login.Captcha.focus();
return false;
}
}
</script>
MFG RichiPitchi
und Danke im Voraus.
PS: habe bereits gegoogelt
[latex]Mae govannen![/latex]
Hallo,
ich habe hier folgende Frage:
Wie kann ich über Javascript mit If Else prüfen, ob im Eingabefeld ein Zeichen doppelt hintereinandner eingegeben wurde?
Ich würde es folgendermaßen machen:
Eine Variable anlegen. Jeweils das letzte eingegebene Zeichen per Event (hier würde z.B. 'keyup' passen) auslesen, mit dem Inhalt dieser Variablen vergleichen. Ist dieser Gleich -> Fehlermeldung. Wenn nicht -> letztes Zeichen in Variable ablegen.
Cü,
Kai
Hallo,
Ich würde es folgendermaßen machen:
Ich auch:
Eine Variable anlegen. Jeweils das letzte eingegebene Zeichen per Event (hier würde z.B. 'keyup' passen) auslesen, mit dem Inhalt dieser Variablen vergleichen.
Ist dieser Gleich -> Fehlermeldung.
Das nein. Wenn man keine doppelten Zeichen erlauben will, das doppelte Zeichen einfach verwerfen. Auch der schlimmste DAU wird bald merken, warum es sich so verhält. Man kann es auch vorher explizit mitteilen.
Eingegebene sind übrigens nur schwer eindeutig zu ermitteln. Browserinkompatibilitäten machen die Sache manchmal recht kompliziert.
Gruß, Don P
[latex]Mae govannen![/latex]
Ist dieser Gleich -> Fehlermeldung.
Das nein. Wenn man keine doppelten Zeichen erlauben will, das doppelte Zeichen einfach verwerfen. Auch der schlimmste DAU wird bald merken, warum es sich so verhält.
Ich halte es eigentlich immer für eine ausgesprochen schlechte Idee, den Nutzer in irgendeiner Form auflaufen zu lassen. Wenn ich irgendwo etwas eingebe und das Zeichen wird nicht angenommen, gehe ich (erst einmal) davon aus, daß irgendwas™ kaputt ist, nicht daß es sich um ein unerwünschtes Zeichen handelt.
Man kann es auch vorher explizit mitteilen.
Das (in möglichst auffälliger Form) würde ich in obigem Fall als absolut unerläßlich ansehen.
Cü,
Kai
Hallo,
Man kann es auch vorher explizit mitteilen.
Das (in möglichst auffälliger Form) würde ich in obigem Fall als absolut unerläßlich ansehen.
Ack.
Wegen der genannten Schwierigkeiten, eingegebene Zeichen mittels charCode zu erkennen, würde ich für eine cross-Browser-Lösung dann doch lieber anders vorgehen: onkeyup jeweils die beiden Letzen Zeichen mit einem regulären Ausdruck untersuchen. Das müsste in allen Browsern brauchbare Ergebnisse liefern.
Gruß, Don P
Hallo,
onkeyup jeweils die beiden Letzen Zeichen mit einem regulären Ausdruck untersuchen.
Sorry, das war ein Denkfehler:
onkeyup steht das jüngste Zeichen ja noch gar nicht im String.
Gruß, Don P
Hi,
Wegen der genannten Schwierigkeiten, eingegebene Zeichen mittels charCode zu erkennen, würde ich für eine cross-Browser-Lösung dann doch lieber anders vorgehen: onkeyup jeweils die beiden Letzen Zeichen mit einem regulären Ausdruck untersuchen.
Welche „letzten beiden” Zeichen - die, die im value des Feldes an letzter und vorletzter Position stehen?
MfG ChrisB