Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Калькулятор суммы заказа (https://javascript.ru/forum/dom-window/9273-kalkulyator-summy-zakaza.html)

tagra 07.05.2010 16:19

Калькулятор суммы заказа
 
Привет всем. Я чайник в javascript но при создании своего сайта я столкнулся с такой проблемой.
У меня есть страница заказа рекламы есть несколько функций select и checkbox в которых прописаны цены на некоторые услуги но эти цены находятся в базе.
Я хочу чтобы при выборе одного из select или если отмечены checkbox, скрипт суммировал их и выводил. У меня есть наброска самого калькулятора, но в примитивном виде. Помогите пожалуйста я уже неделю голову ломаю. Спасибо.

micscr 07.05.2010 16:43

Ну так конкретизируйте, что у вас не выходит. Код неработающий.
Если хотите, чтобы вам что то с нуля написали - то это в разделе "Работа".

Gozar 07.05.2010 17:05

Привет всем. Здравствуйте чайник tagra. Уже неделю ломаю голову над математикой, у меня есть некоторые мысли по этому поводу, но ничего определенного, не могли бы вы мне её объяснить?

tagra 07.05.2010 17:18

Точнее код вот такой, но это приблизительно
Вот сама функция сложения
<input type='hidden' id='bold_price' value='".number_format((float)$set['bold_link_price']/$kurs,4, '.', '')."'>
	<input type='hidden' id='color_price' value='".number_format((float)$set['highlight_link_price']/$kurs,4, '.', '')."'>

color_price = document.getElementById('color_price'); // цена за жирный шрифт
	bold_price = document.getElementById('bold_price'); // цена за выделеный шрифт

	adbold = document.getElementById('adbold');
	adhl = document.getElementById('adhl');
	visitprice = document.getElementById('visitprice');
	visitcount = document.getElementById('visitcount');
	cost = document.getElementById('cost');
	
	function calcSumm() {
		color_val = parseFloat(color_price.value) || 0;
		bold_val = parseFloat(bold_price.value) || 0;
	    visitprice_val = parseFloat(visitprice.value) || 0;
		visitcount_val = parseInt(visitcount.value) || 0;
		cost_val = visitcount_val*visitprice_val + (adbold.value==1 ? bold_val : 0) + (adhl.value==1 ? color_val: 0);
		cost_val = Math.round(cost_val*10000)/10000;
		cost.innerHTML = cost_val.toFixed(4) + ' {$usval} (+".$set['sys_kommision']*100 ."% коммисия системы)';
		summ_val = Math.round(((cost_val*0.2) + cost_val)*10000)/10000;
		summ.innerHTML = summ_val.toFixed(4) + ' {$usval}';
	}

Вот форма
Количество кликов
<input type='text' name='visitcount' id='visitcount' maxlength='7' onkeyup='calcSumm()'/>

Категория
<select name='adcat' id='adcat'>
<option value='1'>Vip
<option value='2'>Простая рассылка
<option value='3'>С переходом по ссылке</select>

Цена одного посещения:
<input type='text' name='visitprice' value='' id='visitprice' maxlength='7' onkeyup='calcSumm()'>

Таймер:</label></div>

<select name='adstimer' id='adstimer'>
<option value='1'>20 cek
<option value='2'>30 cek
<option value='3'>40 cek</select>

Жирный шрифт 
<input type='checkbox' name='adbold' id='adbold' value='1' onClick='calcSumm()'>

Выделение цветом 

<input type='checkbox' name='adhl' id='adhl' value='1' onClick='calcSumm()'>

Сумма заказа:
<div id='cost'>0.0000 {$usval} (+".$set['sys_kommision']*100 ."% коммисия системы)</div></strong></div>

Итого к оплате: 
<div id='summ'>0.0000 {$usval}</div></strong></div>

Вот такой приблизительно код

Gozar 07.05.2010 17:37

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

tagra 07.05.2010 17:49

Отредактировал, но с запуском не получится, потому что в скрипте некоторые переменные из моего php скрипта

Gozar 07.05.2010 17:58

что конкретно у вас не получается и какие выдает ошибки?

ps: если вы этого еще не сделали то сделайте - используйте firebug

tagra 07.05.2010 18:13

я не знаю как из выбора select брать для калькулятора сумму услуги из базы, и не знаю как изменить например (adbold.value==1 ? bold_val : 0), чтобы он работал от checkbox, в данный момент я написал его под select т.е. выбором да или нет.

Gozar 07.05.2010 18:30

Цитата:

Сообщение от tagra (Сообщение 54545)
я не знаю как из выбора select брать для калькулятора сумму услуги из базы, и не знаю как изменить например (adbold.value==1 ? bold_val : 0), чтобы он работал от checkbox, в данный момент я написал его под select т.е. выбором да или нет.

Из селекта брать вот так:
var box = document.getElementById('select_id');
var val = box.options[box.selectedIndex].value;


остальное слишком расплывчато, поэтому я не понимаю, задавайте вопросы более конкретно, а не "изменить вот это чтобы оно" я за вас скрипт писать не буду, вы мне за него не платите.

tagra 07.05.2010 18:43

Извините конечно что задаю вопрос не в том разделе сайта. Сколько приблизительно будет стоить эта работа?


Часовой пояс GMT +3, время: 18:21.