Newsgroup: it.comp.lang.javascript
Titolo: Debug script per calcolo finanziamento

Salve a tutti,
Sto tentando di fare il debug ad una piccola applicazione che ho
creato, serve ad effettuare un calcolo molto semplice, sottrae al
costo totale di un acquisto l'anticipo desiderato per poi inviare i
dati alla finanziaria Consel per la richiesta del finanziamento.
lo script preleva i dati dal campo "anticipo" fa il calcolo e poi
mostra il risultato nel campo "impdafin" creando queste due vairabili.
I form nella pagina sono due in quanto, dopo il calcolo dell'anticipo
e dell'importo da finanziare, il cliente deve riempire il secondo form
con i suoi dati ed inviare il tutto.
Il primo form usa quindi il metodo get ed  il secondo post, altrimenti
la pressione del tasto calcola mi inviava il form prima che fosse
completato.
Il problema č che dopo migliaia di tentativi non riesco ad inviarle da
nessuna parte queste benedette variabili.
Le uniche che vengono ricevute sono quelle inviate con il secondo
form.
Vi allego l'intero script, spero proprio che qualcuno di voi possa
darmi una mano, perche' sto impazzendo. il secondo form "modulo" mi
sembra inutile allegarlo, basta sapere che č cosě:
<form name="modulo1" method="post"
action="
https://reserved.e-consel.it/ecom/ecommercep2.mac/chklog
">
...
...
...
<input name="Submit" type=submit class=aceButton value=Sottoponi>
Grazie in anticipo
Max
<script language="javascript">
 <!--
 //calcola l'anticipo e l'importo da finanziare
 var ord_euroj = "<? echo $ord_euro ?>";
  function Dafinanziare() {
     var anticipo = document.modulo.anticipo.value;
	 var risultato = (ord_euroj - anticipo);
	 var impdafin = Math.round(risultato * 100) / 100;
	 if (impdafin<=155) {
alert("L'importo da finanziare non puň essere minore di 155 euro");
return;}
	 document.modulo.impdafin.value = '';
	 document.modulo.impdafin.value += (impdafin);
	}
  function soloNumeri() {
     var anticipo = document.modulo.anticipo.value;
     if(isNaN(anticipo)) {
        alert("Inserire solo valori numerici, grazie!");
        document.modulo.anticipo.value = "";
        document.modulo.anticipo.focus();
     }
  }
 
  function soloNumeri2() {
     var anticipo = document.modulo.impdafin.value;
     if(isNaN(anticipo)) {
        alert("Inserire solo valori numerici, grazie!");
        document.modulo.impdafin.value = "";
        document.modulo.impdafin.focus();
     }
  }
 //-->
</script>
<form action="" method="get" name="modulo"><table width="41%"
border="0" align="center" dwcopytype="CopyTableRow">
      <tr> 
        <td bgcolor="#CCCCCC"><font color="#003366" size="1"
face="Arial, Helvetica, sans-serif">Anticipo</font></td>
        <td><font color="#FFFFFF" size="1" face="Arial, Helvetica,
sans-serif"> 
          <input name="anticipo" type="text" onKeyUp="soloNumeri()"
size="7" maxlength="7">
        <input class=aceButton  name="button" type="button"
onClick="Dafinanziare()" value="Calcola">
          <input class=aceButton name="button2" type="button"
  onClick="document.modulo.impdafin.value = '';
document.modulo.anticipo.value = '' " value="Reset">
          </font></td>
      </tr>
      <tr> 
        <td bgcolor="#CCCCCC"><font color="#003366" size="1"
face="Arial, Helvetica, sans-serif">Importo 
          da finanziare</font></td>
        <td><font color="#FFFFFF" size="1" face="Arial, Helvetica,
sans-serif"> 
          <input name="impdafin" type="text"onFocus='this.blur()'
onKeyUp="soloNumeri2()" size="7" maxlength="7" readonly />
        </font></td>
      </tr>
    </table>
	</form>

 form.
[...]
Perche' e' l'unico form ad essere inviato. Il primo non ha action, non viene
spedito, non usera' il metodo get: grazie a funzioni associate ad eventi dei
pulsanti esegue dei calcoli.
Io ti consiglierei di risparmiarti fatica e mettere tutto in un form. Se le
azioni dell'utente devono essere separate (prima guardo il totale, poi
decido se spedire il form) potresti assegnare ad un button il calcolo e ad
un altro la spedizione.

Ti ringrazio per il consiglio, sono riuscito a risolvere ripetendo i
dati nel secondo form in un hidden field.
Grazie ancora, sei stato l'unico a rispondermi
Ciao
Max
