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è...