Показать сообщение отдельно
  #16 (permalink)  
Старый 15.07.2015, 05:33
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Касательно калькуляторов всяких. Мы с жабой в браузере и с юзером, а значит мы делаем event driven приложение, а не нажал кнопку - собери грибочки.

Что такое event driven - это значит любые действия юзера используются. Тыкнул юзер в чек-бокс - какое-то число запислось куда надо. Тыкнул еще раз - другое. Нажал кнопку на клаве - по той же схеме. Все довольно просто, за исключением природной угребищности хтмльных controls, а сооружать свои на том же глюкавом html и css обозначает экспоненциальный рост геморроя.

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

Во-первых цена в интерфейсе это рендер числа, которое должно храниться отдельно, как число. Вы легко побежали считать эту цену, потому что ТС ее нарисовал как число, а в реальности это может быть слово: 124 руб 30 коп. Заказчик постановит и все. Конеш, знатоки рег поскачут парсить текст, а чо такова... Грамотные же люди выведут в хтмл цену как число для скрипта, и цену в заказанном формате для юзера. Даже если оно сейчас совпадает - вообще не факт что в будущем так и останется. Это надо понимать.

Значит все что касается оформления нас не касается, а ценник прописан прямо в input'е, в любом атрибуте типа data-p, или просто p="132.45"

<input type=number min=1 max=1000 step=1 value="" p="132.45">

Контроль за действиями юзера ведется через события падающие с контролсов на форму

<form id='calc'>
<input type=number min=1 max=1000 step=1 value="" p="132.45">

Теперь пишем контроллер для document.getElementById('calc').
Ответить с цитированием