Ich sehe einfach keinen Fehler!
Andy
- javascript
Hi,
ich habe das unten angefügte Script, welches ein Kontaktformular auf die vorhandenen Eingaben überprüfen soll. Doch leider funktioniert es nicht, es muss also irgendwo ein Fehler drin sein. Doch leider finde ich keinen. VIelleicht seht ihr ja was:
if (email!="")
{
if (document.form1.email.value.indexOf('@',0)==-1 || document.form1.email.value.indexOf('.',0)==-1)
cemail="Die eingegebene E-Mail Adresse ist nicht korrekt!\n";
}
Vielen Dank
Andy
Hallo Andy,
ich habe das unten angefügte Script, welches ein Kontaktformular auf die vorhandenen Eingaben überprüfen soll. Doch leider funktioniert es nicht, es muss also irgendwo ein Fehler drin sein. Doch leider finde ich keinen. VIelleicht seht ihr ja was:
if (email!="")
{
if (document.form1.email.value.indexOf('@',0)==-1 || document.form1.email.value.indexOf('.',0)==-1)
cemail="Die eingegebene E-Mail Adresse ist nicht korrekt!\n";
Ich bin zwar kein JS-crack aber in der ersten if Abfrage hast du nur ein einfache Gleichheitszeichen und das ist in JS eine Zuweisung.
In der zweiten Abfrage hast Du dann richtig zwei Gleichheitszeichen, den Operator für Vergleich.
Hoffe das war der Fehler.
Grüße aus Nürnberg,
HarryS
Hallo,
Ich bin zwar kein JS-crack aber in der ersten if Abfrage hast du nur ein einfache Gleichheitszeichen und das ist in JS eine Zuweisung.
Nein, hat er nicht. Er hat ein "!=", was soviel heißt wie "ungleich".
Und eigentlich muß man kein Crack sein, um das zu wissen...
Gruß
Slyh
Hallo,
ich habe das unten angefügte Script, welches ein Kontaktformular auf die vorhandenen Eingaben überprüfen soll. Doch leider funktioniert es nicht,
Was heißt "funktioniert nicht"? "Funktioniert nicht" ist keine
Problembeschreibung. "Funktioniert nicht" könnte heißen, daß ein
JavaScript-Fehler in der Konsole angezeigt wird, daß nie in den
if-Block gesprungen wird, daß auch bei korrekter eMail-Adresse eine
Meldung erfolgt. WAS funktioniert nicht?
es muss also irgendwo ein Fehler drin sein.
Syntaktisch konnte ich keinen entdecken. (Was nicht heißt, daß da
keiner ist. Die JavaScript-Konsole hilft dir dabei bestimmt weiter.
Wenn du Netscape oder Mozilla verwendest, tipp in die Adreßzeile
"javascript:" ein und drücke Enter. Wie man die Konsole beim IE
herbringt, weiß ich nicht.)
if (email!="")
{
if (document.form1.email.value.indexOf('@',0)==-1 || document.form1.email.value.indexOf('.',0)==-1)
cemail="Die eingegebene E-Mail Adresse ist nicht korrekt!\n";
}
Du solltest deinen Code unbedingt einrücken!
Auch ist von Konstruktionen wie folgender abzuraten:
if (a==b)
eineAnweisung;
Besser ist es, auf jeden Fall zu klammern, auch wenn es erstmal nicht
notwendig ist:
if (a==b) {
eineAnweisung;
}
Wenn du die Klammern wegläßt, erkaufst du dir evtl. später schwer
auffindbare Fehler:
if (a==b)
ersteAnweisung;
zweiteAnweisung;
führt nämlich die zweite Anweisung immer(!) aus, obwohl man beim Drüber-
lesen denken würde, daß _beide_ Anweisungen nur bei erfüllter
Bedingung ausgeführt werden.
Zurück zu deinem Problem.
Hast du dir mal die Werte von "email", "document.form1.email.value"
und "document.form1.email.value.indexOf('@',0)" ausgeben lassen?
Mach das über einen alert-Aufruf: "alert(email);"
Wenn du damit der Lösung nicht näher kommst, frag nochmal hier. Aber
dann mit etwas mehr Informationen (-> Fehlermeldung, Fehler-
bschreibung usw.) und am besten einer URL, wo man sich das ganze
angucken kann.
Gruß
Slyh