Ciao, purtroppo non ho mai studiato il javascript perchè pensavo servisse a poco (ti dico la verità), invece stò scoprendo che il javascript è un linguaggio veramente ottimo!
Comunque ho provato e adattato quello che mi hai scritto al mio script PHP.
La moltiplicazione la fa (così è anche meglio perchè la pagina è più leggera.) ma la somma invece non correttamente!
Come prima cosa prima della somma mette 0 (quello che trova su var pretot), mentre la somma dei numeri non la fa! Scrive solamente i numeri che trova nelle caselle prezz ma senza sommarli...
Prova a ricontrollarlo perfavore, ti invio il codice così com'è
Codice PHP:
<HTML>
<HEAD>
<TITLE>Fattura con IVA: inserisci una nuova voce</TITLE>
<link rel="stylesheet" type="text/css" href="style.css">
<script>
function calcola(ff,k) {
ff.elements['prezz'+k].value = ff.elements['pz'+k].value * ff.elements['pre'+k].value;
var pretot = 0;
for(var i=1; i<=2; i++) {
pretot += ff.elements['prezz'+i].value;
}
ff.prezTOT.value = pretot;
return true;
}
</script>
</HEAD>
<BODY>
............
<?
for($i=1; $i<30 ; $i++)
{
echo "<tr>
<td width=\"1\">$i</td>
<td><INPUT TYPE=\"text\" NAME=\"descr$i\" SIZE=70></td>
<td><INPUT TYPE=\"text\" NAME=\"um$i\" SIZE=3></td>
<td><input type=\"text\" name=\"pz$i\" size=\"5\" onChange=\"calcola(this.form,$i);\"></td>
<td><input type=\"text\" name=\"pre$i\" size=\"7\" onChange=\"calcola(this.form,$i);\"></td>
<td><input type=\"text\" name=\"prezz$i\" size=\"7\"></td>
<td><INPUT TYPE=\"text\" NAME=\"iva$i\" SIZE=\"3\" MAXLENGTH=\"2\" readonly=\"true\"></td></tr>";
}
?>
</table>
[b]Calcolo automatico dell'IVA e totale fattura[/b]
<input type="text" name="prezTOT" size="7" readonly="true">
<INPUT TYPE="SUBMIT" NAME="invio" VALUE="Inserisci fattura">
</FORM>
</BODY>
</HTML>
Fammi sapere
P.s.: Purtroppo poi devo fare anche lo scorporo dell'IVA e qui la cosa si fa complicata, poi ti spiegherò perchè...