questa è la pagina che mi stà facendo diventare scemo!
funzia...però ho due problemi...
se qualche anima pia mi da un aiutino mi eviterà la crisi nervosa!


1)la "finta nuova pagina caricata dal giava che visualizza il piano d'ammortamento non è formattata come la prima...cioè ha diverso colore di sfondo e diverso carattere...e come si formatta?!?!?!?!
2)è possibile che il risultato della "rata", essendo un dato in euro venga approssimato a due decimali?
GRAZIE amicici




<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.0 [en] (WinNT; I) [Netscape]">
<TITLE>Piano di Ammortamento</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- hide this script tag's contents from old browsers

function checkNumber(input, min, max, msg) {
msg = msg + " dato non valido per il campo: " + input.value;

var str = input.value;
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i + 1)
if ((ch < "0" || "9" < ch) && ch != '.') {
alert(msg);
return false;
}
}
var num = parseFloat(str)
if (num < min || max < num) {
alert(msg + " non contenuto tra [" + min + ".." + max + "]");
return false;
}
input.value = str;
return true;
}

function computeField(input) {
/*
if (input.value != null && input.value.length != 0) {
input.value == "" + eval(input.value);
}
*/
computeForm(input.form);

}

function computeForm(form) {
if ((form.Nanni.value == null || form.Nanni.value.length == 0) ||
(form.tasso.value == null || form.tasso.value.length == 0) ||
(form.period.value == null || form.period.value.length == 0) ||
(form.Prestito.value == null || form.Prestito.value.length == 0)) {
return;
}

if (!checkNumber(form.Nanni, 1, 30, "Num anni") ||
!checkNumber(form.tasso, .001, 99, "Tasso di Interesse") ||
!checkNumber(form.period, 1, 12, "Rate per anno") ||
!checkNumber(form.Prestito, 1000, 1000000, "Importo del Prestito")) {
form.rata.value = "Invalid";
return;
}

var i = form.tasso.value;
if (i > 1.0) {
i = i / 100.0;
form.tasso.value = i;
}


/* i = form.tasso.value; */
var P = form.Prestito.value;
var Y = form.Nanni.value;
var N = form.period.value;

with (Math) {
/* calcolo secondo la formula del libro nero */
var p1 = (i/N)+1
var p2 = N*Y
form.rata.value = ( i * P / N ) / ( 1 - 1 / pow( p1 , p2 ) );

/* calcolo secondo ibc.wustl.edu mensile
form.rata.value = P * ( (i/12) / (1 - pow( (1+(i/12)) , -(12*Y))))
*/

}
}

function comPiano(form) {
computeForm(form)
var rata = document.forms[0].rata.value
var P = document.forms[0].Prestito.value
var tasso = document.forms[0].tasso.value
var period = document.forms[0].period.value
var Nanni = document.forms[0].Nanni.value
var IC = 0
var DR = P
var imax = period * Nanni

document.write("<CENTER>")
document.write("<H2>Calcolo del Piano di Ammortamento di un Prestito</H2>")
document.write("<H3>Euro " + P+ " al tasso " + tasso * 100 + "% ; in " + imax +" Rate</H3>")

document.write("[I]")


/* document.write("<FORM>") */
document.write("<TABLE border>")
document.write("<TR>")
document.write("<TD><DIV ALIGN=CENTER>Rata= " + Math.round(rata) + "</DIV></TD>")
document.write("</TR>")
document.write("<TR>")
document.write("<TD><DIV ALIGN=CENTER>Rata
Numero</DIV></TD>")
document.write("<TD><DIV ALIGN=CENTER>Quota
Capitale</DIV></TD>")
document.write("<TD><DIV ALIGN=CENTER>Quota
Interessi</DIV></TD>")
document.write("<TD><DIV ALIGN=CENTER>Debito
Residuo</DIV>")
document.write("<TD><DIV ALIGN=CENTER>Interessi
Cumulati</DIV></TD>")
document.write("</TR>")

for (var i = 1; i <= imax ; i++) {
var qi = DR * tasso / period
var qc = rata - qi
var IC = qi + IC
var DR = DR - qc
document.write("<TR>")
document.write("<TD><DIV ALIGN=CENTER>" + i + " </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(qc) + " </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(qi) + " </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(DR) +" </DIV> </TD>")
document.write("<TD><DIV ALIGN=CENTER>" + Math.round(IC) + " </DIV> </TD>")
}
document.write("</TR>")

document.write("</TABLE>")

/* document.write("</FORM>") */
}

function clearForm(form)
{
form.period.value = "2";
form.Nanni.value = "15";
form.tasso.value = "13";
form.Prestito.value = "60000000";
}



</SCRIPT>
</HEAD>
<BODY Bgcolor="#ffffec"><font face="trebuchet ms" size=2>


<center><FONT face="trebuchet ms" size=4>Calcolo del Piano di Ammortamento di un Prestito</font>


<CENTER><FORM method=POST></CENTER>

<CENTER><TABLE BORDER >
<TR>
<TD>
<CENTER>Durata</CENTER>

<CENTER>Prestito</CENTER>

<CENTER>in Anni</CENTER>
</TD>

<TD>
<CENTER>Tasso di</CENTER>

<CENTER>Interesse</CENTER>

<CENTER>Annuo</CENTER>
</TD>

<TD>
<CENTER>Importo del</CENTER>

<CENTER>Prestito</CENTER>


</TD>

<TD>
<CENTER>Rate</CENTER>

<CENTER>per</CENTER>

<CENTER>Anno</CENTER>
</TD>

<TD></TD>

<TD><INPUT TYPE="button" VALUE="Calcola Rata" onClick=computeForm(this.form)>


<INPUT TYPE="reset" VALUE="Azzera" onClick=clearForm(this.form)>
<center><INPUT TYPE=TEXT NAME=rata SIZE=9 onChange=computeField(this)></center>

</TD>
</TR>

<TR>
<TD><center><INPUT TYPE=TEXT NAME=Nanni SIZE=2 onChange=computeField(this)></center></TD>

<TD><center><INPUT TYPE=TEXT NAME=tasso SIZE=7 onChange=computeField(this)></center></TD>

<TD><center><INPUT TYPE=TEXT NAME=Prestito SIZE=9 onChange=computeField(this)></center></TD>

<TD><center><INPUT TYPE=TEXT NAME=period SIZE=2 onChange=computeField(this)></center></TD>
</tr><tr>
<TD></TD>

<TD></TD>

<TD></TD>

<TD></TD>
</TR>
</TABLE></CENTER>

<CENTER><INPUT TYPE="button" VALUE=" Visualizza il Piano di Ammortamento " onClick=comPiano(this.form)></FORM>
</font>