Erläuterungen zum Quelltext für das Formular
Das Formular wird wiederum mittels einer Tabelle strukturiert.
Methoden
In diesem Fall wird die Methode kontostand(kap.value,zs.value,lz.value) aufgerufen. Hierbei handelt es
sich um eine JavaScript-Prozedur, da das Ergebnis der Prozedur innerhalb der
Prozedur erzeugt und ausgegeben wird.
Neu ist der Einsatz des Objekts textarea, mit dessen Hilfe eine Listbox erstellt wird. Damit können
nun Ausgabelisten erzeugt werden.
Mit dem Befehl <input type = "reset" ...> können alle Einträge in den Eingabe- und Ausgabefeldern gelöscht werden.
<form name = "konto" action = ""> <table border="1"> <tr> <td>Kapital: <input type = "text" name = "kap" value = "" size="6"></input></td> <td>Zinssatz: <input type = "text" name = "zs" value = "" size="6"></input></td> <td>Laufzeit: <input type = "text" name = "lz" value = "" size="6"></input></td> <td><input type = "button" name = "berechne" value = "Berechne" onclick = "kontostand(kap.value,zs.value,lz.value)"></input></td> <td><textarea name = "erg" rows="5" cols="30"></textarea></td> </tr> <tr> <td colspan="5"> <input type = "reset" name = "loeschen" value = "Löschen"></input> </td> </tr> </table> </form>
Erläuterungen zum Quelltext für JavaScript
Das Problem wurde mit Hilfe einer Zählschleife gelöst. Die Grundform einer Zählschleife lautet:
for (initialisierung;bedingung;schrittweite) {Aktionen}
Unser Beispiel:
for (i=1;i<=lz;i++) {...}
Bedeutung der Syntax:
Initialisierung der Zählervariablen i (Zählung beginnt bei 1),
Zählbedingung: i ist kleiner/gleich dem Wert lz (Zählung läuft bis zum Wert lz),
Schrittweite beträgt 1 (i++ ist ein Syntaxkürzel für i=i+1).
Erklärungen zu den einzelnen Zeilen:
1. Zeile: Befehlswort function, Name kontostand, Werteparameter kapital, zinssatz, laufzeit.
Die Parameter bekommen ihre Wert-Inhalte von den formalen Parametern kap.value, zs.value, lz.value im Textformat geliefert.
2. bis 6. Zeile: Variablendefinitionen
7. bis 13. Zeile: Ermittlung des Ergebnisses und Übergabe des Wertes (value) an die Listbox erg.
Da die Ausgabe innerhalb einer Zählschleife erfolgt, wird eine Ausgabeliste erzeugt. Nach jeder Zeile findet ein Zeilenumbruch
durch den Zeichenkettenanhang "\n" statt. Die Ausgabenliste entsteht dabei rekursiv über das Wertzuweisungprinzip
NeueListe = AlteListe + NeueWerte.
<script type="text/javascript"> 1 function kontostand(kapital,zinssatz,laufzeit){ 2 var k = parseFloat(kapital); //Kapital 3 var zs = parseFloat(zinssatz); //Zinssatz 4 var lz = parseInt(laufzeit); //Laufzeit 5 var i = 0; 6 var z = 0; 7 for (i=1;i<=lz;i++) { 8 z = k * zs / 100; 9 z = Math.round(100*z)/100; 10 k = k + z; 11 k = Math.round(100*k)/100; 12 document.konto.erg.value 13 = document.konto.erg.value+i+ ".: "+z+" EUR "+k+" EUR"+"\n";}} </script>