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;