Форум русской поддержки Joomla!® CMS
10.12.2016, 01:18:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Калькулятор на RSForm

 (Прочитано 1099 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kushiy
Давно я тут
****

Репутация: +4/-0
Offline Offline

Сообщений: 314


« : 01.04.2015, 23:22:41 »

Где можно найти расширение Calculation для данного компонента. На официальном сайте даже не нашел, но знаю что он существует.
Куплю.
Записан
Нappy
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #1 : 21.04.2015, 17:10:54 »

https://cloud.mail.ru/public/2i8pkMM2F3CM/com_rsform_2.5-3.0.zip

с калькулятором
Записан
Нappy
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #2 : 21.04.2015, 17:11:29 »

только там ошибка при умножении на десятичные дроби
Записан
kushiy
Давно я тут
****

Репутация: +4/-0
Offline Offline

Сообщений: 314


« Ответ #3 : 21.04.2015, 17:51:50 »

https://yadi.sk/d/2zdoOUWcg94Tx
Посмотри, вроде этот с калькулятором и все работает. Долго искал
Записан
Нappy
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 7


« Ответ #4 : 21.04.2015, 18:56:40 »

Завтра попробую поставить, может в моем только ошибка
Записан
webgroupco
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #5 : 06.05.2016, 18:56:15 »

Здравствуйте!

Была задача создать в Joomla форму RSForm с калькулятором подсчета суммы услуг по разработке сайта. Вот что получилось – https://webgroupco.com/create-site/kalkulyator-stoimosti-sajta
 
Соответственно можно добавлять или убирать любые поля при необходимости.
 
Значения: category, shablon, zapolnenie, logo, design и другие вам необходимо заменить на названия ваших полей которые вы указали в форме RSForm.
 
Также в дополнительных атрибутах полей надо добавить - onchange="calc()"
 
Скрипт просчитывает сумму выбранных компонентов и формирует заявку через RSForm

HTML код формы:

Код:
<div class="rsform">
<form method="post"  id="userForm" enctype="multipart/form-data" action=""><div id="wrap-calculator-site">

<div id="block-325-l">
<p><span class="red">*</span> Название организации</p>
<input type="text" value="" size="20"  name="form[company]" id="company"  class="rsform-input-box"/>
</div>

<div id="block-325-r">
<p><span class="red">*</span> Контактное лицо</p>
<input type="text" value="" size="20"  name="form[name]" id="name"  class="rsform-input-box"/>
</div>

<div id="block-325-l">
<p><span class="red">*</span> Телефон для связи</p>
<input type="text" value="" size="20"  name="form[phone]" id="phone"  class="rsform-input-box"/>
</div>

<div id="block-325-r">
<p><span class="red">*</span> Электронная почта</p>
<input type="text" value="" size="20"  name="form[email]" id="email"  class="rsform-input-box"/>
</div>

<div id="block-325-l">
<p><span class="red">*</span> Выберите категорию сайта</p>
<select  name="form[category][]"  id="category" onchange="calc()" class="rsform-select-box" ><option  value="0">выбрать из списка...</option><option  value="100">Сайт визитка - 100$</option><option  value="200">Корпоративный сайт - 200$</option><option  value="270">Интернет магазин (каталог) - 270$</option></select>
</div>

<div id="block-325-r">
<p>Количество уникальных шаблонов</p>
<select  name="form[shablon][]"  id="shablon" onchange="calc()" class="rsform-select-box" ><option  value="0">1 - шаблон сайта - 0$</option><option  value="50">2 - шаблон сайта - 50$</option><option  value="75">3 - шаблон сайта - 75$</option><option  value="100">4 - шаблон сайта - 100$</option><option  value="125">5 - шаблон сайта - 125$</option></select>
</div>

<div id="block-325-l">
<p>Заполнение страниц</p>
<select  name="form[zapolnenie][]"  id="zapolnenie" onchange="calc()" class="rsform-select-box" ><option  value="0">5 &ndash; страниц - 0$</option><option  value="10">10 &ndash; страниц - 10$</option><option  value="40">25 &ndash; страниц - 40$</option><option  value="90">50 &ndash; страниц - 90$</option><option  value="190">100 &ndash; страниц - 190$</option></select>
</div>

<div id="block-325-r">
<p>Логотип и фирменный стиль</p>
<select  name="form[logo][]"  id="logo" onchange="calc()" class="rsform-select-box" ><option  value="0">Фирменный стиль имеется - 0$</option><option  value="70">Необходимо разработать - 70$</option></select>
</div>

<div id="block-325-l">
<p><span class="red">*</span>Направление дизайна сайта</p>
<select  name="form[design][]"  id="design" onchange="calc()" class="rsform-select-box" ><option  value="0">выбрать из списка...</option><option  value="50">Классический стиль сайта - 50$</option><option  value="60">Ретро-стиль дизайна - 60$</option><option  value="60">Дизайн сайтов в стиле &laquo;гранж&raquo; - 60$</option><option  value="100">Мультипликационный (рисованный) дизайн - 100$</option><option  value="70">Журнальный дизайн сайтов - 70$</option></select>
</div>

<div id="block-325-r">
<p>Количество языков контента</p>
<select  name="form[language][]"  id="language" onchange="calc()" class="rsform-select-box" ><option  value="0">1 - язык сайта - 0$</option><option  value="20">2 - языка сайта - 20$ (за каждые 10 стр.)</option><option  value="60">3 - языка сайта - 60$ (за каждые 10 стр.)</option></select>
</div>

<div id="block-325-l">
<p>Написание контента для сайта</p>
<select  name="form[contentsite][]"  id="contentsite" onchange="calc()" class="rsform-select-box" ><option  value="0">Не требуется - 0$</option><option  value="20">Продающий текст - 1000 знаков - 20$</option><option  value="35">Продающий текст - 2000 знаков - 35$</option><option  value="78">Продающий текст - 4000 знаков - 78$</option><option  value="40">Копирайт - 4000 знаков - 40$</option><option  value="75">Копирайт - 8000 знаков - 75$</option><option  value="100">Копирайт - 10000 знаков - 100$</option><option  value="32">Рерайт - 4000 знаков - 32$</option><option  value="64">Рерайт - 8000 знаков - 64$</option><option  value="80">Рерайт - 10000 знаков - 80$</option><option  value="60">Seo текст - 4000 знаков - 60$</option><option  value="120">Seo текст - 8000 знаков - 120$</option><option  value="150">Seo текст - 10000 знаков - 150$</option></select>
</div>

<div id="block-325-r">
<p>Адаптация под мобильные устройства</p>
<select  name="form[mobile][]"  id="mobile" onchange="calc()" class="rsform-select-box" ><option  value="0">выбрать из списка...</option><option  value="70">Адаптация основного шаблона - 70$</option><option  value="150">Отдельный мобильный сайт - 150$</option></select>
</div>

<div id="block-650">
<p>Укажите списком адреса сайтов или страниц, которые Вам нравятся по дизайну либо по другим параметрам.</p>
<textarea cols="50" rows="5" name="form[lovesite]" id="lovesite"  class="rsform-text-box"></textarea>
</div>

<div id="block-325">
<input  name="form[modules][]" type="checkbox" value="12" id="modules0" onchange="calc()" /><label for="modules0">Блог новостей или статей - 12$</label><br/><input  name="form[modules][]" type="checkbox" value="30" id="modules1" onchange="calc()" /><label for="modules1">Форум - 30$</label><br/><input  name="form[modules][]" type="checkbox" value="20" id="modules2" onchange="calc()" /><label for="modules2">Фотогалерея / портфолио - 20$</label><br/><input  name="form[modules][]" type="checkbox" value="50" id="modules3" onchange="calc()" /><label for="modules3">Каталог продукции или услуг - 50$</label><br/>
</div>

<div id="block-325">
<input  name="form[modulestoo][]" type="checkbox" value="5" id="modulestoo0" onchange="calc()" /><label for="modulestoo0">Форма отправки сообщений с сайта - 5$</label><br/><input  name="form[modulestoo][]" type="checkbox" value="7" id="modulestoo1" onchange="calc()" /><label for="modulestoo1">Отзывы на сайте / гостевая / опросы - 7$</label><br/><input  name="form[modulestoo][]" type="checkbox" value="15" id="modulestoo2" onchange="calc()" /><label for="modulestoo2">Блок специального предложения - 15$</label><br/><input  name="form[modulestoo][]" type="checkbox" value="10" id="modulestoo3" onchange="calc()" /><label for="modulestoo3">Интерактивная карта (схема проезда) - 10$</label><br/>
</div>

<div id="block-650">
<p>Опишите Ваши пожелания в свободной форме.</p>
<textarea cols="50" rows="5" name="form[dopinfo]" id="dopinfo"  class="rsform-text-box"></textarea>
</div>


<div id="block-650">
<div id="calc-summa-text">Стоимость разработки сайта: <span id="result">0</span> $.</div>
</div>

<div id="block-650">
<input type="submit" value="Отправить заявку с выбранными параметрами" name="form[send]" id="send"  class="rsform-submit-button" />
</div>


</div><input type="hidden" name="form[formId]" value="51"/></form></div>



JS:
Код:
<script type="text/javascript">
   function calc() {
   var category = document.getElementById("category");
   var shablon = document.getElementById("shablon");
   var zapolnenie = document.getElementById("zapolnenie");
   var logo = document.getElementById("logo");
   var design = document.getElementById("design");
   var language = document.getElementById("language");
   var contentsite = document.getElementById("contentsite");
   var mobile = document.getElementById("mobile");
     
 
   var modules0 = document.getElementById("modules0");
   var modules1 = document.getElementById("modules1");
   var modules2 = document.getElementById("modules2");
   var modules3 = document.getElementById("modules3");
   var modulestoo0 = document.getElementById("modulestoo0");
   var modulestoo1 = document.getElementById("modulestoo1");
   var modulestoo2 = document.getElementById("modulestoo2");
   var modulestoo3 = document.getElementById("modulestoo3");
   
   var result = document.getElementById("result");
 
   var price = 0;
   price += parseInt(category.options[category.selectedIndex].value);
   price += parseInt(shablon.options[shablon.selectedIndex].value);
   price += parseInt(zapolnenie.options[zapolnenie.selectedIndex].value);
   price += parseInt(logo.options[logo.selectedIndex].value);
   price += parseInt(design.options[design.selectedIndex].value);
   price += parseInt(language.options[language.selectedIndex].value);
   price += parseInt(contentsite.options[contentsite.selectedIndex].value);
   price += parseInt(mobile.options[mobile.selectedIndex].value);
 
   price += (modules0.checked == true)? parseInt(modules0.value) : 0;
   price += (modules1.checked == true)? parseInt(modules1.value) : 0;
   price += (modules2.checked == true)? parseInt(modules2.value) : 0;
   price += (modules3.checked == true)? parseInt(modules3.value) : 0;
   price += (modulestoo0.checked == true)? parseInt(modulestoo0.value) : 0;
   price += (modulestoo1.checked == true)? parseInt(modulestoo1.value) : 0;
   price += (modulestoo2.checked == true)? parseInt(modulestoo2.value) : 0;
   price += (modulestoo3.checked == true)? parseInt(modulestoo3.value) : 0;         
 
            result.innerHTML = price;
        }
 
</script>


<div id="calc-summa-text">Стоимость разработки сайта: <span id="result">0</span> $.</div>
« Последнее редактирование: 07.05.2016, 18:31:06 от webgroupco » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet