Калькулятор суммы заказа
Привет всем. Я чайник в javascript но при создании своего сайта я столкнулся с такой проблемой.
У меня есть страница заказа рекламы есть несколько функций select и checkbox в которых прописаны цены на некоторые услуги но эти цены находятся в базе. Я хочу чтобы при выборе одного из select или если отмечены checkbox, скрипт суммировал их и выводил. У меня есть наброска самого калькулятора, но в примитивном виде. Помогите пожалуйста я уже неделю голову ломаю. Спасибо. |
Ну так конкретизируйте, что у вас не выходит. Код неработающий.
Если хотите, чтобы вам что то с нуля написали - то это в разделе "Работа". |
Привет всем. Здравствуйте чайник tagra. Уже неделю ломаю голову над математикой, у меня есть некоторые мысли по этому поводу, но ничего определенного, не могли бы вы мне её объяснить?
|
Точнее код вот такой, но это приблизительно
Вот сама функция сложения <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>
Вот такой приблизительно код |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Отредактировал, но с запуском не получится, потому что в скрипте некоторые переменные из моего php скрипта
|
что конкретно у вас не получается и какие выдает ошибки?
ps: если вы этого еще не сделали то сделайте - используйте firebug |
я не знаю как из выбора select брать для калькулятора сумму услуги из базы, и не знаю как изменить например (adbold.value==1 ? bold_val : 0), чтобы он работал от checkbox, в данный момент я написал его под select т.е. выбором да или нет.
|
Цитата:
var box = document.getElementById('select_id');
var val = box.options[box.selectedIndex].value;
остальное слишком расплывчато, поэтому я не понимаю, задавайте вопросы более конкретно, а не "изменить вот это чтобы оно" я за вас скрипт писать не буду, вы мне за него не платите. |
Извините конечно что задаю вопрос не в том разделе сайта. Сколько приблизительно будет стоить эта работа?
|
нисколько, просто локализуйте проблему!
зы: мне просто в лом писать такой скрипт и объяснять все базовые вещи. |
Ваш калькулятор это доступ к элементу по id, получение значения, сравнение его посредством if и else (если нужно), и сложение значений. Ничего более скучного я не знаю. Собственно вот вам и скрипт, перепишите его и получите калькулятор.
|
Спасибо за ответы, думаю придется все таки за учебники по языку браться.
|
| Часовой пояс GMT +3, время: 11:30. |