Kom ihåg mig?
Home Menu

Menu


JS: form problem

Ämnesverktyg Visningsalternativ
Oläst 2005-09-16, 15:27 #1
estberg estberg är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 40
estberg estberg är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 40
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) &raquo;</td><td><input type="text" name="capital" size="10" onChange="calculate();" /></td>
</tr>
<tr>
<td>Annual percentage rate &raquo;</td><td><input type="text" name="interest" size="10" onChange="calculate()" /></td>
</tr>
<tr>
<td>Repayment period in years &raquo;</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 &raquo;</td><td><input type="text" name="payment" size="10" onChange="calculate()" /></td>
</tr>
<tr>
<td>Your total payment will be &raquo;</td><td><input type="text" name="total" size="10" onChange="calculate()" /></td>
</tr>
<tr>
<td>Your total interest payments will be &raquo;</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;
}
estberg är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017