Andy: Ich sehe einfach keinen Fehler!

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

  1. 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

    1. 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

  2. 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

    --
    Es gibt 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.