• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Ausgabe erfolgt nicht

Dsimon24

New member
Hallo!

Bin neu im Bereich JavaScript bzw. allgemein im Bereich der Web-.Entwicklung und habe gerade versucht, etwas umzusetzen - zum lernen...
Leider erscheint aber keine Ausgabe... Ich poste mal den Code, vielleicht kann mir einer mitteilen, ob ich irgendwo einen Fehler eingebaut habe?

Code:
<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Testsystem</title>
    </head>
    
    <body>
        <form action="">
           <div>
            <input type="text" id="jahre" value="2" />
            <input type="text" id="betrag" value="200" />
            <input type="button" id="berechnen" value="berechnen" onclick="berechnen()" />
           </div>
        </form>        

        <script>
            function berechnen() 
            {
                var jahre = document.getElementById("jahre").value;
                var betrag = document.getElementById("betrag").value;
                var sparbetrag;
                sparbetrag = jahre * betrag * 12;

                alert(sparbetrag);
            }

        </script>

    </body>

</html>

Für Antworten und Tipps, woran es liegen könnte,
dass keine Ausgabe erfolgt wäre ich dankbar.

Gruß, David
 
Benenn die Funktion mal um. Da deine id, der value und der Funktionsname gleich sind, scheint JS damit nicht klar zu kommen.

Im übrigen kannst du die Zeilen
Code:
var sparbetrag;
sparbetrag = jahre * betrag * 12;

zu einer zusammen fassen
Code:
var sparbetrag = jahre * betrag * 12;

Damit sparst du dir eine Zeile Code... :)
 
Theoretisch kommt JS schon damit klar. Es liegt nur daran, dass in inline-Eventlisteners bei Formularelementen der Scope sehr seltsam ist: es werden alle Elemente des Formulars als Variablen mit ihrem Namen oder ID eingetragen.

Aber da du sowieso nichts abschicken willst (kein Submit-Button) kannst du das <form> komplett entfernen und das Problem ist weg.

Noch besser ist es natürlich, wenn du generell keine inline-Eventlistener verwendest. Dann hast du dieses Problem nie mehr wieder.

PS: solchen Fehlern kommt man schneller auf die Schliche, wenn man die Fehlerkonsole konsultiert.
 
Zurück
Oben