[Javascript] Funktion: search

  • Schönen guten Morgen/Mittag/Abend,


    Ich habe ein Javascript geschrieben, dass überprüfen soll, ob ein Variable nur aus Buchstaben besteht. (Siehe Code)


    Html:

    Code
    1. <input type="submit" id="submit2" name="submit2" value="Registrieren" onclick="informationcheck()">


    Javascript:

    Code
    1. if(firstname.value.search(/^[a-zA-Z ]+$/) == -1){
    2.     firstname.setCustomValidity('Namen dürfen nur Buchstaben enthalten!');
    3. }


    Dabei entsteht tritt jedoch folgendes Problem auf. Wenn ich zum Beispiel "asd" eingebe, wird kein Fehler ausgegeben, sollte ich jedoch "asd1" eingeben, dann kommt eine Fehlermeldung. Wenn ich dann die Eingabe überarbeite, sprich aus "asd1" "asd" mache und erneut auf den Button drücke, erscheint die Fehlermeldung wieder. Nur durch ein neuladen der Seite wird die Fehlermeldung wieder aufgehoben. Irgendeine Idee wieso bzw. was ich machen sollte?


    MFG Crazy8o

  • Hallo,


    danke für die Antwort. Wenn ich Ihren Code auf der Website, die Sie verlinkt haben, ausführe, funktioniert alles wunderbar, sobald ich das aber in meine Website übernehme funktioniert nichts mehr... Ich weiß echt nicht warum :(

  • Der Fehlertext bleibt bei dem Element gespeichert, Du musst ihn, wenn die Eingabe in Ordnung ist, wieder löschen:

    Code
    1. function informationcheck() {
    2. if (firstname.value.search(/^[a-zA-Z ]+$/) == -1) {
    3. firstname.setCustomValidity('Namen dürfen nur Buchstaben enthalten!');
    4. } else {
    5. firstname.setCustomValidity('');
    6. }
    7. }
  • Vielen Dank! Funktioniert jetzt. Ich hatte auch den Gedanken, dass es gespeichert wird, aber ich wusste nicht wie ich es lösche. Habe versucht das über "== -1" irgendwie zu regeln, hat aber bei mir nicht funktioniert :( Aber vielen Dank nochmal ^^


    Kann geschlossen werden!