Добрый день. Собственно вопрос такой, на странице есть 3 формы. 2 с радио кнопками, одна с чекбоксами, и в зависимости от выбранных пунктов изменяется итоговая цена. С радио кнопками всё в порядке, а с чекбоксом 1 раз прибавляется нормальное значение, потом вычитается это значение умноженное на 2, включаю чекбокс, и прибавляется снова умноженное 2. Т. е. по первым элементам 55+10=65, 65+5=70. Снимаю чекбокс 70-5=... 60. Ставлю чекбокс 60+5=70...
var a=0, b=0, c=0;
//проверяем первую форму
function checkForm1(){
var firstBlock = document.getElementsByName("firstStep");
var summ1;
var here = 1;
for(var i=0; i<firstBlock.length; i++){
if(firstBlock[i].checked){
a = 0;
if(i == 0){
summ1 = 55;
updatePrice(summ1, here);
}else if(i == 1){
summ1=3;
updatePrice(summ1, here);
}else if(i == 2){
summ1=4;
updatePrice(summ1, here);
}else if(i == 3){
summ1=45;
updatePrice(summ1, here);
}
}
}
}
//проверяем вторую форму
function checkForm2(){
var secondBlock = document.getElementsByName("secondStep");
var summ2;
var here = 2;
for(var i=0; i<secondBlock.length; i++){
if(secondBlock[i].checked){
b=0;
if(i == 0){
summ2 = 10;
updatePrice(summ2, here);
}else if( i == 1){
summ2 = 33;
updatePrice(summ2, here);
}else if( i == 2){
summ2 = 34;
updatePrice(summ2, here);
}
}
}
}
//проверяем 3ю форму
function checkForm3(cb){
var here = 3;
cb = document.getElementById("cb1");
c=0;
if(cb == cb1){
if(cb.checked){
updatePrice(-5, here);
}else{
updatePrice(-5, here);
}
}
}
//считаем и выводим результат.
function updatePrice(sum, whereCome){
var place = document.getElementById("cost");
place.innerHTML = '';
var span = document.createElement("span");
if(whereCome == 1){
a = sum;
}
if(whereCome == 2){
b = sum;
}if(whereCome == 3){
c = sum;
}
span.innerHTML = "<h1>Стоимость составит: " + (a+b+c)+"</h1>";
place.appendChild(span);
}