Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Создание "онлайн калькулятора" с расчетом по формулам / 3 сообщений из 3, страница 1 из 1
22.06.2014, 14:09
    #38676567
burn1778
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание "онлайн калькулятора" с расчетом по формулам
Хочу сделать скрипт на JS, с расчетом по известным формулам, но из за незнания языка продвинулся не далеко.
Не могу разобраться с тем куда и как подставить формулы.
Калькулятор должен считать стоимость по введенным данным длины и ширины(а в некоторых случаях и высоты), а также выбора типа из выпадающего списка.
Буду признателен за любую помощь.

Вот примерный исходник:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<head>
        <title>Подсчет стоимости изделий из жидкого камня</title>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
        <script type="text/javascript">
       /*
        * Функция подсчета стоимости изделий из жидкого камня
         */
        function calc() {
            //получаем ссылку на элемент Select (Тип изделия)
            var type_izdeliy = document.getElementById("type_izdeliy");
            var cvet = document.getElementById("cvet");
            //получаем ссылку на элемент input (Размеры)
            var count = document.getElementById("count");
            //получаем ссылку на элемент span, в него будем писать стоимость
            var result = document.getElementById("result"); 
            var price = 0;
            price += parseInt(type_izdeliy.options[type_yzdeliy.selectedIndex].value);
            price += (is_html.checked == true) ? parseInt(is_html.value) : 0;
            price = parseInt(count.value) * price;

            result.innerHTML = price;
        }
        </script>
    </head>
    <body>
        <b>Тип изделия:</b><br/>
        <select onchange="calc()" id="type_izdeliy">
            <option value="0">Выбрать</option>
            <option value="6720">Столешница</option>
            <option value="4450">Стеновая панель</option>
             <option value="6720">Барная стойка</option>
              <option value="6720">Подоконник</option>
            <option value="920">Отбойник</option>
             <option value="10200">Мойка</option>
          
            
        </select>
        Длина: <input type="text" id="count" value="1" onchange="calc()" /> см.
        Ширина: <input type="text" id="count" value="1" onchange="calc()" /> см.
        
        <div>Цена: <span id="result">0</span> руб.</div>
    </body>
</html>
...
Рейтинг: 0 / 0
22.06.2014, 22:09
    #38676708
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание "онлайн калькулятора" с расчетом по формулам
burn1778,

тут смотрю, id="count" дважды повторяется. ID элемента должен быть уникальным для страницы.
Далее, непонятно, как используется ширина, и что за флаг is_html (его нигде на странице нет), . Небольшая ошибка в типе изделия (type_izdeliy - type_yzdeliy). Вместо события onchange для данного случая лучше подходит onkeyup .
Ошибки хорошо отлавливать в Мозилле. Надо нажать F12 , и там будет всё видно.
Работающий вариантик
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<!DOCTYPE html>
<html>
<head>
	<title>Подсчет стоимости изделий из жидкого камня</title>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<b>Тип изделия:</b><br/>
<select onchange="calc()" id="ProductType">
	<option value="0">Выбрать</option>
	<option value="6720">Столешница</option>
	<option value="4450">Стеновая панель</option>
	<option value="6720">Барная стойка</option>
	<option value="6720">Подоконник</option>
	<option value="920">Отбойник</option>
	<option value="10200">Мойка</option>
</select>
&#160; Длина: <input type="text" id="VaueLen" value="1" onkeyup="calc()" /> см.
&#160; Ширина: <input type="text" id="ValueWid" value="1" onkeyup="calc()" /> см.

<div>Цена: <span id="result">0</span> руб.</div>
</body>

<script type="text/javascript">
 /*
* Функция подсчета стоимости изделий из жидкого камня
 */
function calc() {
//получаем ссылку на элемент Select (Тип изделия)
var ProductType = document.getElementById('ProductType');
var cvet = document.getElementById('cvet');
//получаем ссылку на элемент input (Размеры)
var VaueLen = document.getElementById('VaueLen');
var VaueWid = document.getElementById('VaueWid');
//получаем ссылку на элемент span, в него будем писать стоимость
var result = document.getElementById('result'); 
var price = 0;
price += parseInt(ProductType.options[ProductType.selectedIndex].value);
//price += (is_html.checked == true) ? parseInt(is_html.value) : 0;
price = parseInt(VaueLen.value) * price;

result.innerHTML = price;
}
</script>
</html>

...
Рейтинг: 0 / 0
23.06.2014, 01:20
    #38676778
burn1778
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание "онлайн калькулятора" с расчетом по формулам
Спасибо за исправление. По задумке длина и ширина должны перемножаться и конвертироваться в квадратные метры, а в некоторых случаях должна присутствовать "высота(толщина)", и после конвертации умножаться на коэффициент стоимости изделия.
Смог реализовать все это только в Excel, хоть немного криво(с присутствием ненужных секторов), но зато работает. А JS тьма непросветная
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Создание "онлайн калькулятора" с расчетом по формулам / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]