Ho cambiato ancora così... funziona un po'male nel senso che io compilo i campi e non mi fa vedere subito il totale... devo cliccare di qua e di la selezionare 1 o 2 altri campi... prima che mi mostra il totale corretto... mah
se ad esempio completo campo1 e campo2 e poi imp1... devo cliccare su TotaleMolt e poi fuori prima che mi completi il campo Totale con la somma di tutti!
Dovrei togliere l'onblur del campo TotaleMolt e mettere qualcos'altro?
codice:
<html>
<head>
<script language="javascript" type="text/javascript">
var campi = new Array("imp1", "imp2", "imp3");
function molt(ff) {
var tot = 0;
for(var i=0; i<campi.length; i++) {
var c = ff.elements[campi[i]].value;
if(c=="") c="0";
if(c=='NaN') {alert("Not A Number"); c=0;}
tot += parseInt(c,10);
}
ff.TotaleMolt.value = (ff.imp1.value * ff.MoltImp1.options[ff.MoltImp1.selectedIndex].value) + (ff.imp2.value * ff.MoltImp2.options[ff.MoltImp2.selectedIndex].value) + (ff.imp3.value * ff.MoltImp3.options[ff.MoltImp3.selectedIndex].value);
}
var campi = new Array("campo1", "campo2", "TotaleMolt");
function somma(ff) {
var tot = 0;
for(var i=0; i<campi.length; i++) {
var c = ff.elements[campi[i]].value;
if(c=="") c="0";
if(c=='NaN') {alert("Not A Number"); c=0;}
tot += parseInt(c,10);
}
ff.Totale.value = tot;
}
</script>
</head>
<body>
<form name="modulo">
<table align="center">
<tr>
<td>Campo 1</td>
<td><input name="campo1" type="text" size="10" onblur="somma(this.form)" /> </td>
<td></td>
</tr>
<tr>
<td>Campo 2</td>
<td><input name="campo2" type="text" size="10" onblur="somma(this.form)" /> </td>
<td></td>
</tr>
<tr>
<td>Importo 1</td>
<td><input name="imp1" type="text" size="10" onblur="molt(this.form)" /> </td>
<td><select name="MoltImp1" size="1" maxLength="50">
<option value="1">1</option>
<option value="2">2</option>
<option value="4">3</option>
<option value="3">4</option>
<option value="6">6</option>
<option value="12" selected>12</option>
</select>
</td>
</tr>
<tr>
<td>Importo 2</td>
<td><input name="imp2" type="text" size="10" onblur="molt(this.form)" /> </td>
<td><select name="MoltImp2" size="1" maxLength="50">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="4">3</option>
<option value="3">4</option>
<option value="6">6</option>
<option value="12">12</option>
</select>
</td>
</tr>
<tr>
<td>Importo 3</td>
<td><input name="imp3" type="text" size="10" onblur="molt(this.form)" /> </td>
<td><select name="MoltImp3" size="1" maxLength="50">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="4">3</option>
<option value="3">4</option>
<option value="6">6</option>
<option value="12">12</option>
</select>
</td>
</tr>
<tr>
<td>Totale Molt</td>
<td><input name="TotaleMolt" type="text" size="10" onblur="somma(this.form)" /> </td>
<td></td>
</tr>
<tr>
<td>TOTALE</td>
<td><input name="Totale" type="text" size="10" readonly="readonly" /></td>
</tr>
</table>
</body>
</form>
</html>