Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di adp
    Registrato dal
    Oct 2008
    Messaggi
    87

    funzione che addiziona i totali(onchange)

    salve ragazzi, ho il seguente codice:
    codice:
    <html>
    <head>
    </head>
    <body>
      <form name="modulo" method="get" action="">
    	<table border="1">
    	<tr><td>Articolo</td><td>Immagine</td><td>Prezzo</td><td >Quantita'</td><td >Prezzo Totale</td></tr>
    	
    	<tr><td>Monitor</td>
    	    <td>[img]1.jpg[/img]</td>
    	    <td><input name="prezzo" type="text" value="200.00" size="5" maxlength="5" readonly id="prezzo3"></td>
    	    <td><input type="text" size="4"  name="articoli3" onChange="calcola3()";></td>
    	    <td><input name="tot3" type="text" value="0.00"></td>
      </tr>
     
    	<tr><td>Album per foto</td>
          <td>[img]2.jpg[/img]</td>
          <td><input name="prezzo" type="text" value="20.00" size="5" maxlength="5" readonly id="prezzo1"></td>
          <td><input type="text" size="4"  name="articoli1" onChange="calcola1()";></td>
          <td><input name="tot1" type="text" value="0.00"></td>
      </tr>
    <tr><td></td><td></td><td></td><td></td><td>Costo Totale:<input name="somma" type="text" value="0.00"></td></tr>
    	</table>
    	</form>
    </body>
    </html>
    e le due funzioni che calcolano rispettivamente il prodotto per quantita' di ogni articolo:
    codice:
    <script language="javascript" type="text/javascript" >
    function cifre_decimali(x) {
    var c = String(Math.round(x*100));
    while (c.length < 3) c = '0' + c;
    return c.replace(/([0-9][0-9])$/,".$1");
    }
    
    function calcola1 () {
    //Prelevo il prezzo
    var prezzo = parseFloat(document.modulo.prezzo1.value);
    //Prelevo il numero articoli
    var articoli = parseFloat(document.modulo.articoli1.value);
    var calcola_somma1 = 0.00;
    //Calcolo la somma
    calcola_somma1 = Math.round(prezzo * articoli * 100)/100;
    //Scrivo la somma nel campo aggiungendo zero qual'ora non ci fossero
    document.modulo.tot1.value=cifre_decimali(calcola_somma1);
    }
    
    function calcola2 () {
    //Prelevo il prezzo
    var prezzo = parseFloat(document.modulo.prezzo2.value);
    //Prelevo il numero articoli
    var articoli = parseFloat(document.modulo.articoli2.value);
    var calcola_somma2 = 0.00;
    //Calcolo la somma
    calcola_somma2 = Math.round(prezzo * articoli * 100)/100;
    //Scrivo la somma nel campo aggiungendo zero qual'ora non ci fossero
    document.modulo.tot2.value=cifre_decimali(calcola_somma2);
    }
    </script>
    il mio problema è inserire nella funzione onchange, un' altra funzione che calcola il totale generale, quindi fa la somma delle colonne prezzo totale,quindi ogni volta che inserisco la quantita' automaticam deve essere aggiornato il campo prezzo totale(che adesso funziona!) e il campo costo totale(che contiene l'addizione dei campi prezzo totale) Spero di essere stata kiara
    qual1 mi sa aiutare????
    Adp

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    C'e' qualche imprecisione sui nomi dei campi...

    codice:
    <html>
    <head>
    </head>
    <body>
      <form name="modulo" method="get" action="">
    	<table border="1">
    	<tr><td>Articolo</td><td>Immagine</td><td>Prezzo</td><td >Quantita'</td><td >Prezzo Totale</td></tr>
    	
    	<tr><td>Monitor</td>
    	    <td>[img]1.jpg[/img]</td>
    	    <td><input name="prezzo2" type="text" value="200.00" size="5" maxlength="5" readonly id="prezzo3"></td>
    	    <td><input type="text" size="4"  name="articoli2" onChange="calcola2()";></td>
    	    <td><input name="tot2" type="text" value="0.00"></td>
      </tr>
     
    	<tr><td>Album per foto</td>
          <td>[img]2.jpg[/img]</td>
          <td><input name="prezzo" type="text" value="20.00" size="5" maxlength="5" readonly id="prezzo1"></td>
          <td><input type="text" size="4"  name="articoli1" onChange="calcola1()";></td>
          <td><input name="tot1" type="text" value="0.00"></td>
      </tr>
    <tr><td></td><td></td><td></td><td></td><td>Costo Totale:<input name="somma" type="text" value="0.00"></td></tr>
    	</table>
    	</form>
    </body>
    </html>
    
    <script language="javascript" type="text/javascript" >
    function cifre_decimali(x) {
    var c = String(Math.round(x*100));
    while (c.length < 3) c = '0' + c;
    return c.replace(/([0-9][0-9])$/,".$1");
    }
    
    function calcola1 () {
    //Prelevo il prezzo
    var prezzo = parseFloat(document.modulo.prezzo1.value);
    //Prelevo il numero articoli
    var articoli = parseFloat(document.modulo.articoli1.value);
    var calcola_somma1 = 0.00;
    //Calcolo la somma
    calcola_somma1 = Math.round(prezzo * articoli * 100)/100;
    //Scrivo la somma nel campo aggiungendo zero qual'ora non ci fossero
    document.modulo.tot1.value=cifre_decimali(calcola_somma1);
    tot()
    }
    
    function calcola2 () {
    //Prelevo il prezzo
    var prezzo = parseFloat(document.modulo.prezzo2.value);
    //Prelevo il numero articoli
    var articoli = parseFloat(document.modulo.articoli2.value);
    var calcola_somma2 = 0.00;
    //Calcolo la somma
    calcola_somma2 = Math.round(prezzo * articoli * 100)/100;
    //Scrivo la somma nel campo aggiungendo zero qual'ora non ci fossero
    document.modulo.tot2.value=cifre_decimali(calcola_somma2);
    tot()
    }
    function tot() {
    document.modulo.somma.value = cifre_decimali(parseFloat(document.modulo.tot1.value)+parseFloat(document.modulo.tot2.value))
    }
    </script>
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di adp
    Registrato dal
    Oct 2008
    Messaggi
    87
    sarebbe,???? scusa a me la funziona js fa cio che mi deve fare....................nn capisco!
    Adp

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Avevi due input name="prezzo" inoltre fai riferimento ad una funzione di nome calcola3() che non esiste... immagino tu abbia sforbiciato abbondantemente il codice prima di postarlo... magari il tuo funziona, quello che hai postato no.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it L'avatar di adp
    Registrato dal
    Oct 2008
    Messaggi
    87
    In effetti c'è la funzione calcola3, ma essendo = a calcola e calcola1 nn l'ho inserita, ma il mio rpoblema nn è quello, come faccio ad adizionare i vari campi titali per farne uscire un unico sotto?
    Adp

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da adp
    In effetti c'è la funzione calcola3, ma essendo = a calcola e calcola1 nn l'ho inserita, ma il mio rpoblema nn è quello, come faccio ad adizionare i vari campi titali per farne uscire un unico sotto?
    Ma della mia risposta hai letto solo la prima riga?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it L'avatar di adp
    Registrato dal
    Oct 2008
    Messaggi
    87
    si ho letto, ma nn è che la II riga mi ha aiutato molto, hai altri suggerimenti?
    Adp

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da adp
    si ho letto, ma nn è che la II riga mi ha aiutato molto, hai altri suggerimenti?
    Copiati tutta la risposta in una nuova pagina, esamina le differenze rispetto al codice che hai postato tu, provala cercando di capire come funziona... piu' di questo non serve.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Utente di HTML.it L'avatar di adp
    Registrato dal
    Oct 2008
    Messaggi
    87
    Scusami, ma la funzione tot dove viene richiamata???
    grazie penso che mi sia molto utile
    Adp

  10. #10
    Utente di HTML.it L'avatar di adp
    Registrato dal
    Oct 2008
    Messaggi
    87
    Scusami, ho visto, grazie infinite
    Adp

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.