
Salve...
AIUTOOOO
Sul form, ho messo inserimenti automatici i campi con prezzi 5,00, cioè se inserisco 5 stessi campi:
Funziona lo script, ma fa male i calcoli ossia, doveva essere 30.00 e invece viene sommato così 29.000Codice 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>
Perchè?
Cosa ho sbagliato?
Ultima modifica di criric; 07-07-2012 alle 16:35
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:
PS: Racchiudi il codice che posti tra i tag presenti sulla barra di formattazione (seconda riga , ultime tre icone , CODE,HTML,o PHP)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>