André Laugks: Schhönheitsfehler im JavaScript

Beitrag lesen

Hallo Cheatah!

if (document.emailrichtig.email.value == " ");

hier wird offenbar geprüft, ob ein Leerzeichen angegeben wurde. Ich bin mir nicht sicher (inzwischen auf Perl spezialisiert *g*), aber auch in JavaScript dürfte ein Leerzeichen nicht gleich einem leeren String sein!

Ich habe es mit und ohne Leerzeichen versucht! (siehe zwei Absätze tiefer)

In der gleichen Stelle steckt aber noch etwas, was Du wohl mit Schönheitsfehler meintest: Die Anweisung "wenn etwas zutrifft dann tue." Klingt 'n bißchen komisch, aber genau das steht dort. Formuliere es lieber um, indem Du den else-Teil zum if-Teil machst:

Ist das nicht der Sinn einer if-Abfrage. Wenn etwas zutrieft, dann mache bitte das! Wenn nicht, das lasse es bitte und gehe zur anderen if-Abfrage.

Wenn eine Emailadresse angebenen ist, fragen mit confirm(), ob die Emailadresse richtig ist. Wenn keine Emailadresse angegeben ist, nerve nicht den Besucher mit einem Fenster in dem keine Emailadresse steht, überspringe confirm() und sende gleich ab.

if (document.emailrichtig.email.value != "") {

Ich habe es eben noch mal mit allen Möglichkeiten probiert! Wenn man kein Leerzeichen zwischen läßt .(value != ""), wird immer das confirmFenster raus geschmießen, egal ob eine Emailadresse angegeben ist oder nicht! Mit einem Leerzeichen, nur dann, wenn eine Emailadresse angegeben ist!

Für mich scheint es logisch, er schaut nach, ob in diesem "Leerzeichen" etwas steht.

Ich bin nicht sicher, ob Du einen else-Teil brauchst, aber der müßte dann "else return true;" lauten.

else muß bleiben!

Die geschweiften Klammern bei else kann ich mir sparen.

if (document.emailrichtig.email.value != "")
So wird confirm() immer gestartet, ob eine Adresse angegeben ist oder nicht!

if (document.emailrichtig.email.value == " ")
So wird confirm() nur gestartet, wenn eine Emailadresse angegeben ist!

Naja es futzt,aber sicher bin ich mir eben nicht.

André