Risultati da 1 a 2 di 2

Discussione: Sommare prezzi da campi multiple

  1. #1
    z.cristiano è offline Utente del Forum
    Data Registrazione
    Jun 2007
    Messaggi
    90

    Sommare prezzi da campi multiple

    Salve...
    AIUTOOOO

    Sul form, ho messo inserimenti automatici i campi con prezzi 5,00, cioè se inserisco 5 stessi campi:
    Codice HTML:
    <input type="text" id="prezzo" value="5.00">
    <input type="text" id="prezzo" value="5.00">
    <input type="text" id="prezzo" value="5.00">
    <input type="text" id="prezzo" value="5.00">
    <input type="text" id="prezzo" value="5.00">
    <input type="text" id="prezzo" value="5.00">
    <div id="totale_box" onblur="sommare();></div>
    
    Com'è il codice corretto per sommare in totale di 5.00*6?
    NOn dovrebbe essere così?
    
    <script>
    
    function sommare()
    {
    
    var prezzi = document.getElementById('prezzo');
    
    for(i = 0; i < prezzi.lenght; i++)
    {
    
    totale += prezzi[i].value;
    
    }
    
    document.getElementById('totale_box').innerHTML = eval(totale);
    
    }
    
    window.onload = function()
    {
    
    sommare();
    
    }
    
    </script>
    Funziona lo script, ma fa male i calcoli ossia, doveva essere 30.00 e invece viene sommato così 29.000
    Perchè?
    Cosa ho sbagliato?
    Ultima modifica di criric; 07-07-2012 alle 16:35

  2. #2
    L'avatar di criric
    criric è offline Moderatore
    Data Registrazione
    Aug 2010
    Località
    TN
    Messaggi
    2,368
    Ciao,
    non puoi dare lo stesso id a tutti gli input, in questo caso non ti serve nemmeno: puoi recuperare tutti i campi del form con document.forms[0].elements

    Piu o meno potresti provare cosi:

    Codice HTML:
    <form>
        <input onkeyup="sommare()" type="text" value="5.00">
        <input onkeyup="sommare()" type="text" value="5.00">
        <input onkeyup="sommare()" type="text" value="5.00">
        <input onkeyup="sommare()" type="text" value="5.00">
        <input onkeyup="sommare()" type="text" value="5.00">
        <input onkeyup="sommare()" type="text" value="5.00">
    </form>
    
    <div id="totale_box"></div>
    <script>
    
        function sommare()
        {
            //conti gli elementi del form
            var elementi = document.forms[0].elements.length;
            //inizializzi la somma
            var somma = 0;
            // cicli il form
            for(var i = 0; i < elementi; i++){    
           // incrementi la somma        
                somma += parseInt(document.forms[0].elements[i].value);            
            }
            // mostri il risultato
            document.getElementById('totale_box').innerHTML = somma;
        }
    
        window.onload = function()
        {
            sommare();
        }
    </script>
    PS: Racchiudi il codice che posti tra i tag presenti sulla barra di formattazione (seconda riga , ultime tre icone , CODE,HTML,o PHP)

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •