Non ti toglie di dover fare il controllo lato server di nuovo (per motivi di sicurezza)... comunque, questo potrebbe essere un'inizio/spunto.
codice:<html> <head> <script language="javascript"> function calcolaTotale(c) { var allChecks = document.testform.elements[c.name]; var tot = 0; for (var i = 0; i < allChecks.length; i++) { tot += (allChecks[i].checked ? parseFloat(allChecks[i].value) : 0); } document.testform.totale.value = tot+"€"; } </script> </head> <body> <form name="testform"> <input type="checkbox" name="costo[]" value="10" onclick="calcolaTotale(this);" />10€ <input type="checkbox" name="costo[]" value="15" onclick="calcolaTotale(this);" />15€ <input type="checkbox" name="costo[]" value="8" onclick="calcolaTotale(this);" />8€ <input type="checkbox" name="costo[]" value="30" onclick="calcolaTotale(this);" />30€ <input type="checkbox" name="costo[]" value="20" onclick="calcolaTotale(this);" />20€ <input type="checkbox" name="costo[]" value="10" onclick="calcolaTotale(this);" />10€ <input type="checkbox" name="costo[]" value="11" onclick="calcolaTotale(this);" />11€ Totale: <input type="text" name="totale" readonly /> </form> </body> </html>