Somma automatica checkbox

Emix

Utente Attivo
15 Feb 2010
596
0
16
Buonasera, ho un problema...
Ho dei checkbox che si auto generano da un database... Ognuno di questi ha al suo interno un valore numerico (importo in euro). Io ho gia un importo che mi porto avanti dall'inizio e dovrei sommargli gli eventuali importi che vengono checkati.

Questa è la pagina che ho fatto, ma ovviamente non mi somma nulla... La somma t

PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Step 2</title>
<script>
function somma() {
var importi = document.getElementsByTagName("input")
  var sum = 0;
  var gn, elem;
  for (i=0; i<importi.length; i++) {
    gn = 'importi'+i;
    elem = document.getElementById(gn);
    if (elem.checked == true) { sum += Number(elem.value); }
  }
  document.getElementById('totalcost').value = sum.toFixed(2);
} 
</script>
</head>

<body>
<?php
$str = $_POST['XMLRETURN'];
$xml = simplexml_load_string($str);
$i= count($xml->Servizi);
echo "<h3>Disponiblità totale Servizi: (".$i.")</h3>";
echo "ID Stazione In: <b>" .$stazionein = $xml->StazioneIn."</b><br />";
echo "Stazione Out: <b>" .$desstazioneout = $xml->DesStazioneOut."</b><br />";
echo "Stazione In: <b>" .$desstazionein = $xml->DesStazioneIn."</b><br />";
echo "Data Out: <b>" .$dataout = $xml->DataOut."</b><br />";
echo "Data In: <b>" .$datain = $xml->DataIn."</b><br />";
echo "Gruppo: <b>" .$gruppo = $xml->Gruppo."</b><br />";
echo "Giorni Noleggio: <b>" .$giorninol = $xml->ggNoleggio."</b><br />";
echo "Eta: <b>" .$eta = $xml->Eta."</b><br />";
echo "kListino: <b>" .$klistino = $xml->kListino."</b><br />";
echo "Importo: <b>" .$importo = $xml->Importo."</b><br />";
echo "<hr><br><br>"; 
$j=0;  
while ($j < $i) 
{ 
 $disponibilita = $xml->Servizi[$j]; 
echo '<form action="prosegui.php" method="post" name="frm'.$xml->Gruppo.'">';  
  echo '<input type="hidden" name="gruppo" id="gruppo" value="'.$xml->Gruppo.'" />';
  echo '<input type="hidden" name="idout" id="idout" value="'.$xml->StazioneOut.'" />';
  echo '<input type="hidden" name="idin" id="idin" value="'.$xml->StazioneIn.'" />';
  echo '<input type="hidden" name="dataout" id="dataout" value="'.$xml->DataOut.'" />';
  echo '<input type="hidden" name="datain" id="datain" value="'.$xml->DataIn.'" />';
  echo '<input type="hidden" name="giorninolo" id="giorninolo" value="'.$xml->ggNoleggio.'" />';
  //echo "Descrizione: <b>" .$disponibilita->Descrizione."</b><br />"; 
 // echo "kServizio: <b>" .$disponibilita->kServizio."</b><br />";
 // echo "Importo: <b>" .$disponibilita->Importo."</b><br />"; 
 // echo "MaxAddebito: <b>" .$disponibilita->MaxAddebito."</b><br />"; 
//  echo '<input type="submit" id="invia" name="invia" value="PROSEGUI" /></form>';
//  echo "<hr><br>"; 
echo ''.$disponibilita->Descrizione.' : <input type="checkbox" name="'.$disponibilita->Descrizione.'" value="'.$disponibilita->Importo.'" id ="importi[]" onclick="somma();" />';
  $j++;
}
$k = count($xml->Coperture);
	  echo "<h3>Coperture: (".$k.")</h3>" ;
	 $l=0;
	 while ($l < $k)
	 {
		 $coperture = $xml->Coperture[$l];
		 echo ''.$coperture->Descrizione.' : <input type="checkbox" name="'.$coperture->Descrizione.'" id ="importi[]" value="'.$coperture->Importo.'" onclick="somma();" />';
		 $l++;
	 }
	/* $a = count($xml->Accessori);
	  echo "<h3>Accessori: (".$a.")</h3>" ;
	 $b=0;
	 while ($b < $a)
	 {
		 $accessori = $xml->Accessori[$b]; 
		 echo "Descrizione: <b>" .$accessori->Descrizione."</b><br />"; 
  echo "kServizio: <b>" .$accessori->kServizio."</b><br />";
  echo "Importo: <b>" .$accessori->Importo."</b><br />"; 
  echo "MaxAddebito: <b>" .$accessori->MaxAddebito."</b><br />"; 
    echo "<hr><br>"; 
		 $b++;
	 }*/
?>
<br /><input type="text" id="totalcost" value="">
</b>
</body>
</html>

Riuscite a dirmi come e dove sbaglio ?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao
Codice:
i < importi.length
restituisce il numero degli elementi partendo da 1
Codice:
i = 0;
qui invece parti da 0

potresti risolvere cosi
Codice:
i < importi.length - 1
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Somma di orari con centesimi PHP 1
V Somma foreach PHP 2
V Somma Risposte PHP 5
V Query per una somma PHP 2
G Somma dei Minuti PHP 3
L somma e informa PHP 16
L query somma PHP 8
L salvare somma con sottrazione PHP 1
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
A Somma delle colonne di una tabella pivot Database 6
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R php Somma valori in file csv PHP 2
Emix [Javascript] Somma con array input HTML Javascript 1
A [MS Access] Somma Campi se in altro campo presente un determinato testo MS Access 1
A [Javascript] Somma di un campo in una tabella dinamica Javascript 0
T Problema somma mysql MySQL 8
A [Javascript] Somma di input dinamici Javascript 1
B Somma armonica jQuery 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
P [PHP] somma totale imponibile e totale fattura PHP 3
Z Somma di numeri in una lista di app inventor Sviluppo app per Android 0
V Somma anni ad una data con datepicker jQuery 1
A [PHP] Somma in unico risultato di più tabelle PHP 6
T [PHP] matrice con somma diagonali PHP 2
Trapano [PHP] somma di una lista di pagamenti PHP 2
Bunz [Javascript] somma orario input + calcolo straordinario Javascript 3
P Query con Somma di un Campo , aggregazione e join Database 3
G Somma variabili impossibile Javascript 3
A Aiuto somma di campi MS Access 0
A Somma di sottoreport su report Database 2
A Controllo somma di valori in una select Ajax 1
R Sistema di conteggio (somma) HTML e CSS 4
G Somma dati se codice uguale Classic ASP 4
G Somma di report e sottoreport MS Access 0
Akuma Somma dei campi in una tabella PHP 1
felino Microsoft Excel: somma su un'intera colonna Windows e Software 1
felino [JS] Passare un array ed effettuare la somma degli elementi Javascript 2
N Somma di variabili PHP 3
V perchè una somma può non funzionare? PHP 4
M Somma di due record MySQL 7
blips Controllo somma di valori in una select Javascript 5
C [RISOLTO] Problema somma td, prende solo il primo valore jQuery 7
Emix Somma su punti con controllo vip PHP 5
L Somma solo se non riappare elemento PHP 4
L somma elementi, finché elementi di altro array sono uguali PHP 2
pup3770 Somma righe in corrispondenza PHP 10
max_400 Unire 2 query - calcoli matematici: somma, moltiplicazione, percentuale PHP 7
Danvart Access Somma di Valori in Tabelle Collegate MS Access 0
Monital Somma di molti campi del database PHP 4
G Calcolare la somma Javascript 3

Discussioni simili