Как веб строителю — любителю, пришлось мне столкнуться с такой не тривиальной задачей (для любителя), как создание различного рода калькуляторов, чтоб пользователь, за пару кликов по элементам веб формы, подсчитал стоимость НЛО.
«Тьфу, делов-то!» — воскликнут многие из читателей, знакомых с JavaScript, как Илья Ковальчук с клюшкой и шайбой. Но лично я воскликнул: «P&$de$ сколько делов-то» и мой воспалённый мозг ринулся на поиск выхода из положения:
1. Заказать изготовление такого калькулятора (это временные затраты и я так подозреваю не малые денежные). Этот вариант отвергнут сразу, ибо проект абсолютно не коммерческий и для души, да и честно сказать: «жаба задушила».
2. Изучить JavaScript и изящно написать скрипт. Чем я собственно по тихоньку и стал заниматься, но оказывается чтобы изучить JavaScript его надо учить и практиковать.
3. Самый оптимистичный вариант — это поиски софта с подобным функционалом, для генерации требуемого кода.
Как не странно, но такой софт был обнаружен мной на стадии открытого бета тестирования и с этого момента я стал активно участвовать в этом процессе и так встречайте:
Релиз 3-ей версии состоялся намедни. И теперь у нас есть простой инструмент для создания подобного рода веб-сервисов.
![Создание формы](https://habrastorage.org/r/w1560/getpro/geektimes/post_images/8e5/777/884/8e5777884a15783285907d5476f78565.png)
С банальным построением веб форм, эта софтинка справляется на ура в режиме WYSIWYG, но на главной изюминке, а именно поле Calculated Field я позволю себе остановиться:
Поле с результатами вычислений добавляется просто, как и любое другое поле:
![Накидываем поля](https://habrastorage.org/r/w1560/getpro/geektimes/post_images/a42/39c/4a9/a4239c4a9a5bf55c64539b4b53fbbb8c.png)
В свойствах поля элементарно пишем формулу:
![Свойства калькуляционного поля](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/e2d/2cb/b5e/e2d2cbb5e08f54597de5789d5663f98b.jpg)
Слева накидываем поля из которых берутся значения value
Справа функции: имеются логические (if_else — если_то. map_to_number — присвоение чисел текстовым значениям чекбоксов и радиоточек. is_checked — присвоение 1 если чекбокс или радиоточка выбрана и 0 если нет. ), математические (арифметические, тригонометрические и т.д.) и работа с датами.
Помимо всего прочего, в софтине очень гибкий и настраиваемый валидатор вводимых данных, причём есть возможность прикручивать уже существующие формы.
Для работы скриптов требуется сервер с поддержкой PHP не ниже 4.3.0
Сама программа написана для работы под Win
Есть интересная заметка в блоге автора, как мастерам эпистолярного жанра легально получить ключик.
К сожалению пока в релиз не включили мои соображения по обработке текстовых значений. Но, «стрижка только начата».
P.S. Надеюсь что эта софтинка здорово облегчит жизнь создателям таких веб сервисов.
«Тьфу, делов-то!» — воскликнут многие из читателей, знакомых с JavaScript, как Илья Ковальчук с клюшкой и шайбой. Но лично я воскликнул: «P&$de$ сколько делов-то» и мой воспалённый мозг ринулся на поиск выхода из положения:
1. Заказать изготовление такого калькулятора (это временные затраты и я так подозреваю не малые денежные). Этот вариант отвергнут сразу, ибо проект абсолютно не коммерческий и для души, да и честно сказать: «жаба задушила».
2. Изучить JavaScript и изящно написать скрипт. Чем я собственно по тихоньку и стал заниматься, но оказывается чтобы изучить JavaScript его надо учить и практиковать.
3. Самый оптимистичный вариант — это поиски софта с подобным функционалом, для генерации требуемого кода.
Как не странно, но такой софт был обнаружен мной на стадии открытого бета тестирования и с этого момента я стал активно участвовать в этом процессе и так встречайте:
Simfatic Forms
Релиз 3-ей версии состоялся намедни. И теперь у нас есть простой инструмент для создания подобного рода веб-сервисов.
![Создание формы](https://habrastorage.org/getpro/geektimes/post_images/8e5/777/884/8e5777884a15783285907d5476f78565.png)
С банальным построением веб форм, эта софтинка справляется на ура в режиме WYSIWYG, но на главной изюминке, а именно поле Calculated Field я позволю себе остановиться:
Поле с результатами вычислений добавляется просто, как и любое другое поле:
![Накидываем поля](https://habrastorage.org/getpro/geektimes/post_images/a42/39c/4a9/a4239c4a9a5bf55c64539b4b53fbbb8c.png)
В свойствах поля элементарно пишем формулу:
![Свойства калькуляционного поля](https://habrastorage.org/getpro/geektimes/post_images/e2d/2cb/b5e/e2d2cbb5e08f54597de5789d5663f98b.jpg)
Слева накидываем поля из которых берутся значения value
Справа функции: имеются логические (if_else — если_то. map_to_number — присвоение чисел текстовым значениям чекбоксов и радиоточек. is_checked — присвоение 1 если чекбокс или радиоточка выбрана и 0 если нет. ), математические (арифметические, тригонометрические и т.д.) и работа с датами.
Помимо всего прочего, в софтине очень гибкий и настраиваемый валидатор вводимых данных, причём есть возможность прикручивать уже существующие формы.
Для работы скриптов требуется сервер с поддержкой PHP не ниже 4.3.0
Сама программа написана для работы под Win
Есть интересная заметка в блоге автора, как мастерам эпистолярного жанра легально получить ключик.
К сожалению пока в релиз не включили мои соображения по обработке текстовых значений. Но, «стрижка только начата».
P.S. Надеюсь что эта софтинка здорово облегчит жизнь создателям таких веб сервисов.