[JavaScript] Feld auf Inhalt Prüfen -> Endlosschleife

  • #1
J

JediMB

Bekanntes Mitglied
Themenersteller
Dabei seit
04.04.2003
Beiträge
244
Reaktionspunkte
0
Hallo zusammen!

Ich habe einen Generator für Formulare gebaut, der unter anderem eine Funktion beinhaltet, dass das erstellte Formular per JavaScript prüft, ob das Feld Inhalt hat.

Die Formular-Seite wird also generiert und greift auf eine JavaScript Datei zu, in der die Funktion CheckPflicht(Feld) steht:
Code:
function CheckPflicht(Feld)
{
if(Feld.value == )  
{
alert(Das Feld \ + Feld.name + \ muß ausgefüllt werden!);
Feld.focus();
return false;
}
return true;
}

Die Funktion wird onBlur (also beim Verlassen) des jeweiligen Formularfeldes aufgerufen und übergibt this als Feld, auf das sich die Funktion beziehen soll.

Versucht man nun also, das Pflichtfeld ohne eine Eingabe zu verlassen, dann erscheint eine Fehlermeldung und der Cursor kehrt in das Feld zurück.

Das funktioniert soweit auch super, aber ich habe folgendes Problem:

Folgen jetzt zwei Pflichtfelder auf einander und man verläßt das erste mit Tab, um ins zweite zu springen, dann tut er das auch, meckert aber dann, dass das erste Feld keinen Inhalt hat und springt zurück. Dann meckert aber schon das zweite Feld und der Cursor springt wieder dahin. Dann meckert wieder das erste usw usw usw.
Eine Endlosschleife...

Hat jemand einen Tipp, wie ich die Endlosschleife da->rausbekomme, ohne den modularen Charakter des Generators zu verlieren?

MfG
 
  • #2
Hi,

vorrausgesagt, ich bin niemand, der sich mit JavaScript wirklich gut auskennt, aber wie wärs damit:

Versuche doch einfach, Feld.value (den des zweiten Feldes) bevor er in das vorherige Feld zurückspringt, auf Feld.value = ; zu setzen, somit dürfte JavaScript annehmen, dass das Feld Inhalt besitzt.
Man müsste dann aber wahrscheinlich noch eine Funktion hinzufügen, die den Inhalt eines Feldes bei onFocus auf , also nichts, setzt. Sonst könnte ein User ja ein Feld durch ein Leerzeichen überspringen.

mfg rabies
 
  • #3
du könntest in einer variablen festhalten, ob das ergebnis der ersten prüfung true oder false oder was auch immer war, und nur dann nochmal prüfen, wenn die variable true ist.
so würde verhindert, dass 2 felder gleichzeitig geprüft werden.

gruß
nico
 
  • #4
Beide Ideen habe ich ausprobiert, leider mit mäßigem Erfolg, trotzdem Danke!

Ich habe es jetzt so gelöst, dass ich die Felder nicht mehr beim Verlassen prüfe, sondern beim Click auf den Submit Button. Da wird dann Feld für Feld geprüft. Das Funktioniert ganz gut und ich konnte auch meine Modularität beibehalten...

MfG
 
Thema:

[JavaScript] Feld auf Inhalt Prüfen -> Endlosschleife

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben