Grazie Caldera, gentilissimo e disponibile come sempre.

Si la formula che cercavo é più o meno questa, però a questo punto mi si ripresenta il problema come scatenare l'evento "funzione calcola il campoi 1 e calcola il campo 2", visto che la funzione onclick é già stata usata per scatenare la funzione di hide or show, e per qualche strano motivo non riesco a far funzionare due "onclick" in sequenza. Inoltre essendo uno dei due campi già checked non scatenerebbe l'onclick comunque proprio perché non c'é click...

Ho provato a far scatenare la funzione di calcolo inserendola nella riga di uno dei campi calcolati che fanno parte del calcolo stesso, ma ho scoperto che l'onchange non funziona con dei campi che contengono un risultato di altre funzioni...

chiedo venia, sò che probabilmente mi spiego male quindi provo a postare una parte del form:

<head>
<script language="JavaScript" type="text/JavaScript">
<!--

//costruiamo la formula per il totale intermedio1

function startCalc1(){
interval = setInterval("calc1()",1);
}
function calc1(){
AB = document.acquisto_caf.UNICO_TOT.value*"1.2";
AC = document.acquisto_caf.MODELLI770S_TOT.value*"1.2";
AD = document.acquisto_caf.ICI_TOT.value*"1.2";
AF = document.acquisto_caf.ENTRATEL_TOT.value*"1.2";
document.acquisto_caf.INTERMEDIO1.value = (AB * 1) + (AC * 1) + (AD * 1) + (AF * 1);
}

//costruiamo la formula per il totale intermedio2

function startCalc2(){
interval = setInterval("calc2()",1);
}
function calc2(){
AK = document.acquisto_caf.CREDITO_ANNO_PRECEDENTE.valu e*"1";
AG = document.acquisto_caf.MODELLI730_TOT1.value*"1.2";
AH = document.acquisto_caf.ISEE_TOT1.value*"1.2";
AI = document.acquisto_caf.RED_TOT1.value*"1.2";
document.acquisto_caf.INTERMEDIO2.value = ("0" * 1) - (AG * 1) - (AH * 1) - (AI * 1) - (AK * 1);
}


//costruiamo la formula per il calcolo del TOTALEGENERALE_COMPENSATO

function startCalc3(){
interval = setInterval ("calc3()",1);
}
function calc3(){
C1 = parseFloat(document.acquisto_caf.INTERMEDIO1.value );
C2 = parseFloat(document.acquisto_caf.INTERMEDIO2.value );
document.acquisto_caf.TOTALEGENERALE_COMPENSATO.va lue = (C1*1) + (C2*1);
}

//costruiamo la formula per il calcolo del TOTALEGENERALE_NON_COMPENSATO

function startCalc4(){
interval = setInterval ("calc4()",1);
}
function calc4(){
C1 = parseFloat(document.acquisto_caf.INTERMEDIO1.value );
document.acquisto_caf.TOTALEGENERALE_NON_COMPENSAT O.value = (C1*1);
}



//costruiamo la formula del show-hide per i campi TOTALEGENERALE_COMPENSATO e TOTALEGENERALE_NON_COMPENSATO
function show(field) {
if (field == 'rb1') {
document.getElementById('rb1text').style.display = 'inline';
document.getElementById('rb2text').style.display = 'none';
}
else {
document.getElementById('rb1text').style.display = 'none';
document.getElementById('rb2text').style.display = 'inline';
}
}
//-->
</script>
</head>

<body>
<table>
<form>
.....
....

<tr>
<td class=cella_unita colSpan=2><u><font size="3">COMPENSAZIONE DEBITI CREDITI</font></u></td></tr>

<tr>
<td class="cella_sx" nowrap="nowrap" width="50%">TOTALE A DEBITO: </td>
<td class="cella_dx" noWrap>Euro:<INPUT class="text" style="text-align:right;" maxLength=12 size=12 value="" name="INTERMEDIO1" id="INTERMEDIO1"></td></tr>
<tr>
<td class="cella_sx" nowrap="nowrap" width="50%">TOTALE A CREDITO: </td>
<td class="cella_dx" noWrap>Euro:<INPUT class="text" style="text-align:right;" maxLength=12 size=12 value="" name="INTERMEDIO2" id="INTERMEDIO2"></td></tr>
<tr>
<td class="cella_unita" colspan="2"> -----------------------------</td></tr>
<tr>
<td class="cella_sx" nowrap="nowrap" width="50%"><font size="+1">Vuoi compensare gl'importi a debito e credito?</font> </td>
<td class="cella_dx" noWrap>
NO<input type="radio" name="rb" id="rb" value="rb1" checked="checked" onclick="show(this.value)" value="TOTALEGENERALE_NON_COMPENSATO" />
SI<input type="radio" name="rb" id="rb" value="rb2" onclick="show(this.value)" value="TOTALEGENERALE_COMPENSATO"></td>
</form>
</body>

I campi "INTERMEDIO" e "INTERMEDIO1" contengono il risultato calcolato di una serie di altre operazioni..

se io inserisco nella loro linea la funzione \\onchange="startcalc3();" \\non succede nulla in quanto onchange non riesce a rilevare il cambiamento da "" a "123456"

mentre se inserisco la funzione \\onclick="startcalc3();" \\ e \\onclick="startcalc4();" \\nelle rispettive righe di TOTALEGENERALE_COMPENSATO e TOTALEGENERALE_NON_COMPENSATO, mi ritrovo con quanto detto sopra, cioé non riesco a far funzionare due "onclick" in sequenza, e comunque essendo uno dei due campi già "checked" non scatenerebbe il secondo onclick comunque proprio perché non c'é click... :master:

Come ne vengo fuori?