![]() |
Hej. Skulle vilja ha hjälp med följande JS kod, det är något som fattas eller nåt litet minifel nånstans för det funkar inte. Ganska så basic kod, vad är det jag missar? Formulärets uppgift är att beräkna lånesatser.
HTML: <form name="loandata"> <table> <tr> <td>Amount of the loan (xUSD) »</td><td><input type="text" name="capital" size="10" onChange="calculate();" /></td> </tr> <tr> <td>Annual percentage rate »</td><td><input type="text" name="interest" size="10" onChange="calculate()" /></td> </tr> <tr> <td>Repayment period in years »</td><td><input type="text" name="years" size="10" onChange="calculate()" /></td> </tr> <tr> <td> <input type="button" value="Calculate" onClick="calculate()"> </td><td></td> </tr> <tr> <td>Your monthly payment will be »</td><td><input type="text" name="payment" size="10" onChange="calculate()" /></td> </tr> <tr> <td>Your total payment will be »</td><td><input type="text" name="total" size="10" onChange="calculate()" /></td> </tr> <tr> <td>Your total interest payments will be »</td><td><input type="text" name="totalinterest" size="10" onChange="calculate()" /></td> </tr> </table> </form> JS: function calculate() // The loan calculator function { var capital = document.loandata.capital.value; // The input var interest = document.loandata.interest.value / 100 / 12; var payments = document.loandata.years.value * 12; var x = Math.pow(1 + interest, payments); var monthly = (capital*x*interest)/(x-1); if (!isNaN(monthly) && // Checks that the result is a finite number, otherwise display nothing (monthly != Number.POSITIVE_INFINITY) && (monthly != Number.NEGATIVE_INFINITY)) { document.loandata.payment.value = round(monthly); // The output, if valid document.loandata.total.value = round(monthly * payments); document.loandata.totalinterest.value = round((monthly * payments) - capital); } else // The output, if not valid { document.loandata.payment.value = ""; document.loandata.total.value = ""; document.loandata.totalinterest.value = ""; } } function round(x) // External round up/down for the loan calculator numbers { return Math.round(x*100)/100; } |
Alla tider är GMT +2. Klockan är nu 23:42. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson