2016-03-19 7 views
1

Ich habe eine kurze Frage über den Bau dieser Hypothekenrechner. Ich bin neu in Javascript, aber etwas vertraut mit anderen Programmiersprachen. Wenn ich die Werte für Principal, TermOfLoan und APR eintrage und dann den Calculate Button drücke, passiert nichts. Kann mich jemand kurz in das führen, was mir fehlt? Dies sollte eine wirklich schnelle Lösung haben, die ich übersehe. Vielen Dank im Voraus.Javascript Hypothekenkalkulator

<title>Mortgage Calculator</title> 
<meta charset = "UTF-8"> 
<link rel = "stylesheet" href = "mortgageCalculator.css"> 

<script> 

    function calculatePayment() { 


     var principal = parseFloat(document.getElementById("principal").value); 
     //principal = parseInt(principal); 

     var termOfLoan = parseFloat(document.getElementById("termOfLoan").value); 
     //termOfLoan = parseInt(termOfLoan); 

     var annualInterestRate = parseFloat(document.getElementById("annualInterestRate").value); 
     //annualInterestRate = parseFloat(annualInterestRate); 
     //document.getElementById("Calculate").value = principal * annualInterestRate/(1 -(Math.pow(1/(1 + annualInterestRate) , termOfLoan))); 
     //var monthlyPayment = principal * annualInterestRate/(1 -(Math.pow(1/(1 + annualInterestRate) , termOfLoan))); 

     var percentageRate = annualInterestRate/1200; 
     var lengthOfLoan = 12 * termOfLoan; 
     var monthlyPayment = (principal * percentageRate)/(1 - (Math.pow((1 + percentageRate) , lengthOfLoan * -1)))); 
     monthlyPayment = monthlyPayment.toFixed(2); 


     document.getElementById("payment").innerHTML = monthlyPayment; 

     //document.getElementById('monthlyPayment').innerHTML = "Monthly Payment" + monthlyPayment; 


    } 


</script> 

<h1>Mortgage Calculator</h1> 
<p>Use this simple home mortgage calculator to calculate monthly payments on mortgage rates. Payment examples shown do not include amounts for taxes and insurance premiums. 
*Note: please contact your financial insitution for final monthy payments, as the can and will vary from lender to lender. This calculator should only be used for comparison purposes</p> 
<form> 
<table> 

    <tr> 
     <td class = "labels">Principal Loan Amount</td> 
     <td class = "textbox"><input type = "text" id = "principal" onclick = "calculatePayment()"></td> 
    </tr> 
    <tr> 
     <td class = "labels">Mortgage Period (years)</td> 
     <td class = "textbox"><input type = "text" id = "termOfLoan" onclick = "calculatePayment()"></td> 
    </tr> 
    <tr> 
     <td class = "labels">Annual Interest Rate</td> 
     <td class = "textbox"><input type = "text" id = "annualInterestRate" onclick = "calculatePayment()"></td> 
    </tr> 
    <tr> 
     <td class = "labels">Monthly Mortgage Payment</td> 
     <td class = "textbox"><input type = "number" id = "payment" name = "monthlyPayment"></td> 

    </tr> 
    <tr> 
     <td class = "button"><button onclick = "calculatePayment()">Calculate</button></td> 
     <td class = "button"><input type = "reset" name = "Reset"></td> 
    </tr> 


</table> 
</form> 

Antwort

1

Arbeitsbeispiel https://jsfiddle.net/w4an90nr/

Zahlung ein Eingangs-Tag ist, so dass Sie value nicht innerHTML

document.getElementById("payment").value = monthlyPayment; //value not innerHTML 

auch dort verwenden haben, ist eine weitere falsche schließende Klammer ) hier .remove es

var monthlyPayment = (principal * percentageRate)/(1 - (Math.pow((1 + percentageRate) , lengthOfLoan * -1))); 
+1

Genau auf FS, das hat perfekt funktioniert. Du bist der Mann. – Murk

Verwandte Themen