Zaczalbym od poprawienia nieco formularza, tj. dodanie labeli do pol, wsadzenie
(tu kwota) w jakis element, ktory mozna by odnalezc w DOM. Nastepnie dodanie handlerow na onchange dla inputow. Przy kazdej zmianie jakiegokolwiek inputa, przelecenie po wszystkich i zsumowanie kwot labeli tych zaznaczonych (po usunieciu
zł i sparsowaniu na integera). Otrzymana kwote potem wrzucic do elementu z
(tu kwota):
<script type="text/javascript"> function kwotaInputa(id) {
var labele = document.getElementsByTagName("label");
for ( j=0; j < labele.length; j++ ) {
if ( labele[j].getAttribute("for") == id ) {
return parseInt(labele[j].textContent.replace('zł', ''));
}
}
}
function sumowanieKwot() {
var inputy = document.getElementsByTagName("input");
var kwota = document.getElementById("kwota");
for ( i=0; i < inputy.length; i++ ) {
inputy[i].onchange = function onchange(e) {
suma = 0;
for ( j=0; j < inputy.length; j++ ) {
if ( inputy[j].checked == true ) {
suma += kwotaInputa(inputy[j].id);
}
}
kwota.innerHTML = suma +"zł";
};
}
}
<body onload="sumowanieKwot()"> <input type="checkbox" value="1" name="cos_1" id="cos_1" /> <label for="cos_1">10zł
</label> <input type="checkbox" value="2" name="cos_2" id="cos_2" /> <label for="cos_2">20zł
</label> <input type="radio" value="1" name="pierdola_1" id="pierdola_1" /> <label for="pierdola_1">30zł
</label> <input type="radio" value="2" name="pierdola_2" id="pierdola_2" /> <label for="pierdola_2">40zł
</label> W sumie:
<span id="kwota">(tu kwota)
</span>