ho modificato lo script come mi hai detto tu, ma non mi funziona:
tanto per restare sul generico...
Tieni presente che ho supposto che, rispettando le convenzioni originarie, al campo sconto ho assegnato il nome dinamico:
ff.elements[pre+"_sco"]
a proposito... nel passaggio da parametri del form interi a decimali (da perseInt a parseFloat) e' rimasto nello script un ",10" in piu'... errore ripetuto nella riga aggiunta per ultima
Riporto lo script corretto... se non dovesse andare (non ho il tempo di inventarmi una pagina completa per provarlo) posta un link
codice:
<script language="javascript">
function duecifre(nn) {
som = String(nn)
som += (som.indexOf('.')>=0)?'0':'.00';
som = som.substr(0,som.indexOf('.')+3)
return som.replace(/\./,"\,");
}
function Somma(tt){
var ff = tt.form
var pre = tt.name.substr(0,1)
var somma = 0
var i=0;
while(ff.elements[pre+(i+1)]) {
if(ff.elements[pre+(i+1)].value!='')
somma+=parseFloat(ff.elements[pre+(i+1)].value.replace(/\,/,"\."));
i++;
}
ff.elements[pre+'_tot'].value=duecifre(somma)
sconto = parseFloat(ff.elements[pre+"_sco"].value.replace(/\,/,"\."));
somma = somma - sconto;
ff.elements[pre+'_iva'].value=duecifre(somma*0.2)
ff.elements[pre+'_som'].value=duecifre(somma*1.2)
}
</script>
ciao