- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- compilare campo text senza pressione di un button
-
compilare campo text senza pressione di un button
Salve a tutti,
ho fatto una piccola formula che mi calcola il margine di un prodotto:<script LANGUAGE="JavaScript" TYPE="text/javascript"> function esegui () { var costo = parseFloat (document.modulo.costo.value); var prezzo = parseFloat (document.modulo.prezzo.value); var perc = parseFloat (document.modulo.perc.value); var k = (perc + 100) var iva = prezzo / k var risultato = parseFloat((prezzo - costo) / (k / 100)) var risultato=Math.round(risultato*100)/100 document.modulo.j.value= parseFloat(risultato); } </SCRIPT>
poi attraverso un form premendo il tasto calcola ottengo regolarmente il risultato:
[html]<form name="modulo" method="get">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tdGrigioChiaro">
<tr>
<td width="17%">Costo</td>
<td> <input type ="text" size="8" name ="costo" value="<? print "$a8" ; ?>" class="modGiallo" /></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>prezzo</td>
<td><input type ="text" size="8" name ="prezzo" value="<? print "$a10" ; ?>" class="modGiallo" /></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Percentuale</td>
<td><input type ="text" size="8" name ="perc" value="<? print "$a9" ; ?>" class="modGiallo" /></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Margine</td>
<td width="9%"><input type ="text" size="8" name = "j" readonly="readonly" class="modRosso" /> </td>
<td width="37%"><input type="button" value="Calcola" onclick="esegui()" class="btGrigioScuro" /></td>
<td width="37%"> </td>
</tr>
</table>
</form>[/html]Ciò che dovrei riuscire a fare è che scrivendo il prezzo, la percentuale e il costo nei rispettivi campi di testo dovrebbe uscire il risultato del margine automaticamnte, eliminando quindi il button CALCOLA.
Spero che qualcuno possa darmi una mano...
Grazie
-
Ciao
Puoi farlo in diversi modi congeniali a seconda della situazione.
-
Con un refresh, cioè un timer che ricalcola i campi ogni tot.
-
con l'evento onchange inserito sui campi che modifichi
*onchange="esegui()"
-
-
Proverò con il secondo metodo... grazie.