0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 4690 Просмотров
*

kushiy

  • Захожу иногда
  • 401
  • 4 / 0
Калькулятор на RSForm
« : 01.04.2015, 22:22:41 »
Где можно найти расширение Calculation для данного компонента. На официальном сайте даже не нашел, но знаю что он существует.
Куплю.
*

Нappy

  • Новичок
  • 7
  • 1 / 0
Re: Калькулятор на RSForm
« Ответ #1 : 21.04.2015, 16:10:54 »
*

Нappy

  • Новичок
  • 7
  • 1 / 0
Re: Калькулятор на RSForm
« Ответ #2 : 21.04.2015, 16:11:29 »
только там ошибка при умножении на десятичные дроби
*

kushiy

  • Захожу иногда
  • 401
  • 4 / 0
Re: Калькулятор на RSForm
« Ответ #3 : 21.04.2015, 16:51:50 »
https://yadi.sk/d/2zdoOUWcg94Tx
Посмотри, вроде этот с калькулятором и все работает. Долго искал
*

Нappy

  • Новичок
  • 7
  • 1 / 0
Re: Калькулятор на RSForm
« Ответ #4 : 21.04.2015, 17:56:40 »
Завтра попробую поставить, может в моем только ошибка
*

webgroupco

  • Новичок
  • 8
  • 0 / 0
Re: Калькулятор на RSForm
« Ответ #5 : 06.05.2016, 17: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, 17:31:06 от webgroupco »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заявки падают всегда в спам при оформлении заявки через RSForm

Автор stitch808

Ответов: 7
Просмотров: 406
Последний ответ 31.01.2024, 16:51:58
от stitch808
Калькулятор на RSForm. Вопрос по JS

Автор ukrart

Ответов: 3
Просмотров: 1233
Последний ответ 18.08.2022, 11:48:44
от sivers
Правила валидации полей RSForm Pro

Автор Anvari6120

Ответов: 0
Просмотров: 1169
Последний ответ 26.07.2022, 19:02:44
от Anvari6120
Прикрипление файлов в форме RSForm

Автор stitch808

Ответов: 0
Просмотров: 1242
Последний ответ 28.03.2022, 17:34:40
от stitch808
RSForm макеты отображаются без отступов по всей ширине экрана

Автор pechenye

Ответов: 0
Просмотров: 1282
Последний ответ 08.02.2022, 18:39:35
от pechenye