Javascript-Fehler.... ich sehe den nicht

  • Moin!

    Manchmal ist man wohl doch blind. Folgender Code:

    Code
    var nam = document.Form1.Name.value;
      var anr = "Sehr geehrte";
      var anrede = document.Form1.Anrede.value;
      if (anrede == "Herr"){anr = anr + "r Herr " + nam};
      if (anrede == "Frau"){anr = anr + " Frau" + nam};
        else {
           anr = anr + " Damen und Herren";
           }

    //Edit:
    Hier noch die Fehlermeldung:

    Code
    Error: syntax error
    Source File: http://web45.dtac.de/entwurf/datenwerte.js
    Line: 89, Column: 2
    Source Code:
      else {


    //

    Sieht außer Mozilla Firefox noch jemand den Fehler? Eigentlich ist die Syntax doch in Ordnung??? :evil:

    Es ärgert sich[/code]

  • Moin Ronald,

    hatte mir heute über Dich eins gegrinst, nun bist Du am dransten... :)

    Quelltext ist ziemlich lang, ich poste stattdessen lieber die URL wo ich es abgelegt habe.

    Der Aufruf erfolgt von http://web45.dtac.de/entwurf/test.html und das Script steckt in http://web45.dtac.de/entwurf/datenwerte.js. Ausgabe des zugehörigen Formulars erfolgt in empfaenger.html, einer fiktiven Seite nur zum basteln. Also nicht wundern....

    Ich versuche zur Zeit krampfhaft ie Felder des Formulars nach dem ausfüllen und abschicken auf der empfaenger.html eins zu eins wiederzugeben, fertig ausgefüllt versteht sich. Erst hab ichs mit get als Methode versucht und bin am Splitten des query_strings gescheitert und nun krieg ichst auch mit Cookies net richtig hin... *heul* Nur über einen Textbereich hatte ich es mal am laufen. Ich brauch aber die einzelnen Datenfelder einzeln.
    Ich habe eine Meldung nach der anderen, die meisten hab ich verstanden und beseitigt, aber mit der hier beschriebenen Fehlermeldung komme ich nun gar nicht mehr klar...ich sehe einfach keinen Fehler. vielleicht sollte ich mal einen Tag Pause einlegen.

    Siehst Du was, was ich nicht seh?

  • ohje, ein endloses Script ;)

    Was ich gefunden habe:

    1. Du verweist in der "datenwerte.js" auf das Formular mit dem Namen "Form1". Im HTML-Quelltext hast du es aber "FrontPage_Form1" genannt, eine Formular "Form1" gibt es demnach gar nicht.

    2. Im "datenwerte.js" gehören m.E. hinter "else" in Zeile 89 keine Klammern sondern die Variante wird direkt hingeschrieben, jedenfalls bezieht sich die Fehlermeldung die du gepostest hast eindeutig auf diesen Teil vom Script.

    Allerdings ist da auch m.E. ein Denkfehler in deinem Script:
    Du prüfst zunächst die Variable 'anrede' auf "Herr" und gibst dann einen String zurück. Als nächstes prüfst du ob die Anrede = "Frau" ist, wenn nicht soll "Sehr gehrte Damen und Herren" geschrieben werden.
    Mit der 2. Prüfung wird aber die erste Überprüfung wieder hinfällig, d.h. du bekommst als Ergebnis immer entweder "Frau" oder "Damen und Herren".

    Du könntest die Überprüfung besser und einfacher mit einem 'case' machen:

    Ich habe es nicht getestet, es sollte aber gehen.

    Gruß von der Elbe,

    Ronald

  • Hi Ronald,

    super, werd ich gleich mal testen. In einem Falle hast Du recht, na klar krieg ich immer "Frau" oder "Sehr geehrte Damen und Herren".... jetzt wo Du es sagst ;)
    In dem anderen Falle hast Du nicht so ganz Recht... :) : Du schreibst:". Du verweist in der "datenwerte.js" auf das Formular mit dem Namen "Form1". Im HTML-Quelltext hast du es aber "FrontPage_Form1" genannt, eine Formular "Form1" gibt es demnach gar nicht. "
    Ok, das Form1 gibt es nicht, aber ich habs nicht umbenannt... das war mein tolles Frontpage im Alleingang 8) .
    Ich hasse selbstständig arbeitende Programme *grummel* Ich habs nicht bemerkt, obwohl ich die Probleme vom Grund her kenne. Ich kann aber irgendwie von dem Teil nicht lassen..., mit Frontpage als WYSIWYG-Editor arbeite ich schon so lange, da nimmt man die Nachteile dann eben billigend in Kauf. Aber ist schon manchmal ätzend... so wie in diesem Falle.
    Werd gleich mal testen...

  • Zitat von webbie

    Hi Ronald,

    super, werd ich gleich mal testen. In einem Falle hast Du recht, na klar krieg ich immer "Frau" oder "Sehr geehrte Damen und Herren".... jetzt wo Du es sagst ;)
    In dem anderen Falle hast Du nicht so ganz Recht... :) : Du schreibst:". Du verweist in der "datenwerte.js" auf das Formular mit dem Namen "Form1". Im HTML-Quelltext hast du es aber "FrontPage_Form1" genannt, eine Formular "Form1" gibt es demnach gar nicht. "
    Ok, das Form1 gibt es nicht, aber ich habs nicht umbenannt... das war mein tolles Frontpage im Alleingang 8) .
    Ich hasse selbstständig arbeitende Programme *grummel* Ich habs nicht bemerkt, obwohl ich die Probleme vom Grund her kenne. Ich kann aber irgendwie von dem Teil nicht lassen..., mit Frontpage als WYSIWYG-Editor arbeite ich schon so lange, da nimmt man die Nachteile dann eben billigend in Kauf. Aber ist schon manchmal ätzend... so wie in diesem Falle.
    Werd gleich mal testen...

    Dann korrigiere ich es mal *fg*:

    Zitat

    dein Quelltext verweist in der "datenwerte.js" ....

    So besser ?

    Lacht...

    Ronald aus der Marsch

  • *lacht mal mit*

    ...aber: Nun wird mir ein Fehler angezeigt, dass ein Feld kein Objekt sei.
    Habe alle Verweise aufs Formular der Einfachheit halber und damit es nicht aus Versehen wieder passieren kann auf die Frontpagevariante umbenannt. Ist also alles Frontpage_Form1. Nun meckert er das an... :roll:

    Nachtrag: Meckerei nach Klick auf den Button zum berechnen!

  • Zitat von webbie


    Habe alle Verweise aufs Formular der Einfachheit halber und damit es nicht aus Versehen wieder passieren kann auf die Frontpagevariante umbenannt.

    So schlimm war es nicht und allemal besser als den Effekt später wieder zu haben. Frontpage lässt sich das ja nun mal nicht abgewöhnen. Es sind also alle Verweise auf Form1 geändert bzw. angepasst.

  • Echt....? :oops:

    Okidoki, das war schon nicht schlecht. Aber warum ist nun die Anrede undefiniert????? Erst war es klein geschrieben, das hab ich korrigiert, aber trotzdem Fehlanzeige... Ich hatte ja Dein case eingebaut....

    //Edit:
    Habs gefunden. Anrede muss ich na klar auch erst auslesen, sonst nützt das case mir gar nix ;)

    Nun hat er noch einen Fehler in der HTML-Seite... muss mal sehen was das nun wieder ist.

    Da Du grad in der Seite drin steckst, magst eventuell mal hier schauen: https://www.forum-hilfe.de/viewtopic.php?t=5112 ?