Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: campo form automatico

  1. #1

    campo form automatico

    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?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    <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

  3. #3

    calcolo errato

    ho scritto queste righe onchange
    ma se imponibile è 100 e iva è 20 il totale invece di essere 120 è 10020

    qual è il problema?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai ragione. Fa l'unione delle stringhe, non la somma algebrica.

    Forse e` meglio fare una funzione (da inserire in uno script della head:
    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;
    Da usare cosi`:
    <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

  5. #5

    calcolo non funziona

    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E come chiami la funzione?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7

    calcolo non funziona

    ho corretto i valori ora funziona

    grazie

    si tratta di javascript

  8. #8

    spiegazione codice

    mi spieghi anche quelo che ho scritto
    tanto per capire ed eventualemnte riutilizzare

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    (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)}
    (1) definizione della funzione
    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

  10. #10

    arrotondamento

    perchè nella riga 6 si fa +100 e /100?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.