ho fatto un form in html
un campo è imponibile
un campo iva
un campo totale
io vorrei che appena scrivo l'imponibile mi calcoli il totale
come si può fare?
ho fatto un form in html
un campo è imponibile
un campo iva
un campo totale
io vorrei che appena scrivo l'imponibile mi calcoli il totale
come si può fare?
<input type="text" name="imponibile" onchange="this.form.totale.value=this.value+this.v alue*this.form.iva.value/100;">
<input type="text" name="iva" value="20">
<input type="text" name="totale" readonly="true">
Se ci sono problemi con gli arrotondamenti, occorre modificare lo script (fare una routine esterna).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
ho scritto queste righe onchange
ma se imponibile è 100 e iva è 20 il totale invece di essere 120 è 10020
qual è il problema?
Hai ragione. Fa l'unione delle stringhe, non la somma algebrica.
Forse e` meglio fare una funzione (da inserire in uno script della head:Da usare cosi`:codice:function calcolatot(cc) { var ff = cc.form; var imp = parseFloat(cc.value); var iva = parseFlaot(ff.iva.value); vat tot = imp + imp * iva / 100; ff.totale.value = Math.round(tot*100)/100;
<input type="text" name="imponibile" onchange="calcolatot(this);">
<input type="text" name="iva" value="20">
<input type="text" name="totale" readonly="true">
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
ho scritto
<script>
function calcolatot (cc) {
var ff = cc.form;
var imp = parseFloat (cc.value);
var iva = parseFloat (ff.iva.value);
var tot = imp + imp * iva / 100;
ff.totale.value = Math.round(tot*100/100;
}
</script>
ma non funziona
E come chiami la funzione?
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
ho corretto i valori ora funziona
grazie
si tratta di javascript
mi spieghi anche quelo che ho scritto
tanto per capire ed eventualemnte riutilizzare
(1) definizione della funzionecodice:(1)function calcolatot (cc) { (2) var ff = cc.form; (3) var imp = parseFloat (cc.value); (4) var iva = parseFloat (ff.iva.value); (5) var tot = imp + imp * iva / 100; (6) ff.totale.value = Math.round(tot*100/100; (7)}
ilparametro passato e` l'oggetto del campo da leggere
(2) definisce l'oggetto del form
(3) nella variabile (numero float) mette il valore letto dal campo puntato da cc (trasforma in numero reale)
(4) idem per il campo iva
(5) esegue il calcolo e salva in variabile
(6) arrotondamento e scrittura nel campo totale
(7) fine funzione
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
perchè nella riga 6 si fa +100 e /100?