Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как обработать поля и сделать вывод (https://javascript.ru/forum/dom-window/73472-kak-obrabotat-polya-i-sdelat-vyvod.html)

marchenkovby 18.04.2018 12:15

Как обработать поля и сделать вывод
 
Здравствуйте. В JavaScript только начал разбираться. Сверстал следующий макет. Это калькулятор для подсчета стоимости услуги умный дом.

https://codepen.io/machenkovby/pen/GdRoLP

На сайте: https://smarthome1.by/calc.

1. Как сделать так, чтобы кнопки "-" и "+" уменьшали и увеличивали значения количества датчиков и устройств?

2. При выводе итогового значения "Стоимости услуги Умный дом" выводить цену "11,90", а не "11,9".

3. Сделать проверку, чтобы в поле с количеством датчиков или устройств можно было вводить только число больше, либо равно нуля.

4. Как можно проще получить значения input-ов (уменьшить количества одинакового JavaScript кода)?

5. При клике "Да" необходимо показать таблицу со стоимостью настройки и в завивисимости от количества выбранных датчиков и устройств посчитать и вывести в поле "Единоразовый платеж за подключение и настройку". Например, в поле количество для датчика температуры и влажности стоит 2, когда мы отмечаем, что нам нужен мастер (в поле "Нужен мастер для первоначального подключения?" ставим "Да"), появляется таблица со стоимостью и "Единоразовый платеж за подключение и настройку" будет равен 7,50 + 2 датчика по 1,40 = 10,30.

laimas 18.04.2018 13:45

ТЗ работы?

marchenkovby 18.04.2018 15:20

Цитата:

Сообщение от laimas (Сообщение 483536)
ТЗ работы?

Мне необходима подсказка по каждому пункту.

laimas 18.04.2018 15:41

Цитата:

Сообщение от marchenkovby
Мне необходима подсказка по каждому пункту.

Нужно сперва подумать о том, что даже на кладбище нет стабильности, не говоря уже о жизни. Существует и будет существовать инфляция, а это значит, что цены никак не могут быть постоянными длительное время. Кроме этого вполне возможны замены одних устройств на другие (типы, классы), что также может влиять на цены. Могут добавляться новые устройства/услуги.

То есть, кто-то следит за этим, описывает, и источник этих данных никак не может находится на клиенте, только на сервере.

Из этого следует, что если в скрипте на клиенте пишется так

var name = 3.55
....

то следить и править данные нужно будет не только на сервере, но и на клиенте, а это очень плохо.

Следовательно, если скрипт в теле страницы отдается, то в тело скрипта сервер должен помещать объект описывающий цены услуг, имена свойств которого легко будут связываться с элементами управления. Либо эти цены сервер прописывает в атрибуты элементов, из которых они будут извлекаться элементами управления.

Что касается управления, то нужно циклом обойти все элементы управления (уменьшить/увеличить) и определить им один обработчик, так как они делают одну и туже операцию.

А отчет, это обойти циклом поля, взять те в которых выбрано значение, суммировать (или что иное) и вывести результат.


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