codice:
<form action="form_action.asp" method="get" style="text-align:center">
<font face="Arial"><label for="mutuo"><font size="2">mutuo:</font></label><font size="2">
</font></font><font face="Arial" size="1">
<input type="text" name="mutuo" id="mutuo" size="17" value="100000"
style="text-align:right"/></font><font size="2" face="Arial">€
</font><font face="Arial" size="1" color="#800000">(inserire la cifra da
richiedere come prestito)</font></p>
<font face="Arial"><label for="durata"><font size="2">durata</font></label><font size="2">
</font></font><font face="Arial" size="1">
<input type="text" name="durata" id="durata" size="3" value="10"
style="text-align:right"/></font><font size="2" face="Arial">anni <label for="durata">tasso
di interesse</label>
</font><font size="1" face="Verdana"><font face="Arial">
<input type="text" name="tasso" id="tasso" size="5" value="5"
style="text-align:right"/></font><font size="2" face="Arial">%
</font><font face="Arial" color="#800000">(usare la virgola per i decimali del
tasso di interesse)</font></font></p>
<font face="Arial">
<label for="periodo"><font size="2">periodicità</font></label><font size="2">
</font></font><font face="Arial" size="1">
<select name="periodo">
<option value="12">mensile</option>
<option value="6">bimestrale</option>
<option value="4">trimestrale</option>
<option value="3">quadrimestrale</option>
<option value="2">semestrale</option>
<option value="1">annuale</option>
</select></font><font size="2" face="Arial">
</font><font face="Arial" size="1" color="#800000">(scegliere la modalità di
rimborso)</font></p>
<font face="Arial" size="1">
<input type="button" value=" calcolo della rata "
onclick="rata.value=calcoloRata(mutuo.value,durata.value,tasso.value,periodo.value)"/></font><font face="Arial" size="2">
</font><font face="Arial"><label for="rata"><font size="2">
</font><font style="font-size: 4pt">
</font><font size="2">rata:</font></label><font size="2"> </font></font>
<font face="Arial" size="1">
<input type="text" name="rata" id="rata" size="12" value=""
style="text-align:right"/></font><font size="2" face="Arial"> €
</font>
</p>
<span style="font-size: 5pt">
</span><font face="Arial" size="1">
<input type="button" value=" calcolo piano ammortamento "
onclick="calcoloPiano(mutuo.value,durata.value,tasso.value,periodo.value);
c_piano.value=tabella"/></font><font face="Arial" size="2">
</font><font face="Arial" size="2">
PIANO DI AMMORTAMENTO
</font><font face="Arial" style="font-size: 4pt">
</font>
<textarea name="c_piano" id="c_piano " rows="10" cols="87" readonly="readonly">
</textarea>
</p>
</p>
</form>
<script>
//Calcolo Rata
function calcoloRata(m,n,i,k)
{
m = parseInt(m); //mutuo
n = parseInt(n); //annualità
i = parseFloat(i)/100; //dal tasso percentuale annuo a quello unitario
k = parseInt(k); // periodizzazione
ikpiu1 = Math.pow(1+i,1/k) // radice k-esima di (1+i)
ik = ikpiu1-1; // tasso periodico
rata = m*ik/(1-Math.pow(ikpiu1,-k*n)); // implementazione della formula
return (Math.round(rata*100)/100); // arrotondamento al centesimo
}
</script>
<script>
//variabile globale
tabella = "";
function calcoloPiano(m,n,i,k)
{
//lettura dati
m = parseInt(m);
n = parseInt(n);
i = parseFloat(i)/100;
k = parseInt(k);
//numero di rate
kn = k*n;
//interesse periodico equivalente
ikpiu1 = Math.pow(1+i,1/k)
ik = ikpiu1-1;
//calcolo della rata costante
rata = m*ik/(1-Math.pow(ikpiu1,-k*n));
i=0; //contatore
Ii=0; //quota interessi
Ci=0; //quota capitale
Di=m; //debito residuo
Ei=0; //debito estinto
//intestazione della tabella
tabella = " k rata q.cap. q.int. d.res. d.est.\n"
//prima riga
riga = format(0,3,false)+format(0,15,true)+format(Ci,15,true);
riga += format(Ii,15,true)+format(Di,15,true)+format(Ei,15,true)+"\n";
tabella += riga;
//righe successive
for (i=1; i<=kn; i++)
{
Ii = ik*Di;
Ci = rata-Ii;
Di -= Ci;
Ei += Ci;
riga = format(i,3,false)+format(rata,15,true)+format(Ci,15,true);
riga += format(Ii,15,true)+format(Di,15,true)+format(Ei,15,true)+"\n";
tabella += riga;
}
}
//funzione ausiliaria per normalizzare la rappresentazione dei dati in output
function format(n,campo,decimale)
{
l = 0;
var s;
if (decimale)
{
n = Math.round(n*10000)/10000;
s = String(n);
l = s.length;
punto = s.indexOf('.');
if (punto<0) s +='.00';
if (punto==l-1) s +='00';
if (punto==l-2) s +='0';
punto = s.indexOf('.');
s = s.substr(0,punto+3);
}
else
s = String(n);
l = s.length;
while (l<campo)
{
s = " "+s;
l++;
}
return s;
}
</script>
sistemalo come meglio credi.