Loan Amortization
by gisheri
HTML
<body>
<h1>Load Amortization schedule</h1>
<form id="theForm">
<label for="principal">Principal</label><input id="principal" type="text" name="principal"/><br/>
<label for="interest">Interest</label><input id="interest" type="text" name="interest"/><br/>
<label for="months">Months</label><input id="months" type="text" name="months"/><br/>
<button id="btn_calculate">Calculate</button>
</form>
<table>
<thead>
<tr><td>Month</td><td>Pincipal</td><td>Interest</td><td>Balance</td></tr>
</thead>
<tbody id="tableData">
</tbody>
</table>
JavaScript
var handler = function(){
var principal = Number(document.getElementById('principal').value);
var interest = Number(document.getElementById('interest').value);
var months = Number(document.getElementById('months').value);
console.log(principal);
console.log(interest);
console.log(months);
var i = interest = interest / 100.0 / 12;
var payment = principal * (i+i/(Math.pow(1+i, months) - 1));
console.log(payment);
s = '';
var m;
var balance = principal;
for (m = 1; m<=months; m++){
var toInterest = balance*i;
var toPrincipal = payment - toInterest;
balance -= toPrincipal;
var row = '<tr>';
row += '<td>' + m + '</td>';
row += '<td>' + toPrincipal + '</td>';
row += '<td>' + toInterest + '</td>';
row += '<td>' + balance + '</td>';
row += '</tr>';
tableData += row;
}
document.getElementById('tableData').innerHTML = tableData;
return false;
};
document.getElementById('btn_calculate').onclick = handler;