26 января 2010

Универсальный калькулятор — дополнение к форме обратной связи

Обновили компонент! Подробнее тут!

UPD2 (5.02.2010): Теперь можно вывести результат в любом месте с помощью метки {RESULT} (ставится в форме). Например:
<form method="post">
<input type="text" name="field1" value="{FIELD1}" size="5" /> 
<input type="text" name="field2" value="{FIELD2}" size="5" />
<input type="submit" value="Рассчитать">
</form>
Результат: {RESULT}


UPD: Обновил версию! Теперь результат на той же странице + остаются значения полей.

Дополнение создано на основе алгоритма обратной связи, т.е. если Вам необходим калькулятор, то Вы создаете новую форму и в ней убираете все галочки, но поставив галочки на следующих: «Отображать страницу с благодарностями» и «Работать как калькулятор».

Обязательно заполните все поля!

По порядку:
1. Название — Название формы
2. Описание — Описание для чего калькулятор
3. Тема письма — Укажите в этом поле название формы

В поле «Шаблон формы обратной связи» создается форма (шаблон) полей калькулятора.
Например:
<form method="post" action="{ACTION}">
<input type="text" name="field1" value="{FIELD1}" size="10" /> + <input type="text" name="field2" value="{FIELD2}" size="10" /><br /><br />
<select name="select1{SELECT1}">
<option value="100"{SELECT1_100}>Порошковое напыление (Антик)</option>
<option value="200"{SELECT1_200}>Порошковое напыление (RAL)</option>
<option value="300"{SELECT1_300}>Ламинат</option>
<option value="400"{SELECT1_400}>Шпон</option>
</select>
<br /><br />
<input type="checkbox" name="checkbox1{CHECKBOX1}" value="1000"{CHECKBOX1_1000}>Кондиционер
<input type="checkbox" name="checkbox2{CHECKBOX2}" value="2000"{CHECKBOX2_2000}>ABS
<br /><br />
<input type="radio" name="radio1{RADIO1}" value="10000"{RADIO1_10000} >Красный  
<input type="radio" name="radio1{RADIO1}" value="20000"{RADIO1_20000} >Синий  
<input type="radio" name="radio1{RADIO1}" value="30000"{RADIO1_30000} >Серый  

<input type="submit" value="Рассчитать" />
</form>
Стоимость: {RESULT}


Для корректной работы калькулятора необходимо знать следующее:
  1. для типа text вписывать в «name» по-порядку field1, field2… в «value» так же как и в «name», только в фигурных скобках {FIELD1}, {FIELD2}...
  2. для select: обязательно использовать конструкцию типа name=«select1{SELECT1}», для option задается такое обозначение value=«100»{SELECT1_100}, т.е. option относится к SELECT1 и значение value после нижнего подчеркивания.
  3. Для чекбоксов используется следующая конструкция: name=«checkbox1{CHECKBOX1}» value=«1000»{CHECKBOX1_1000}, думаю, что тут все понятно
  4. Для радио-кнопок следующая конструкция: name=«radio1{RADIO1}» value=«10000»{RADIO1_10000}
  5. Для вывода результата используется метка {RESULT}
  6. По-умолчанию, если поле не заполнено, то оно присваивается к нулю. Так что следует учесть это!
  7. Необходимо делать «сквозную» нумерацию в названиях полей: {FIELD1}, {FIELD2}...{FIELD21}...{FIELDN}

В поле «Шаблон сообщения» вводится формула, по которой будет происходить расчет.
Например:
{FIELD1}+({FIELD2})+{SELECT1}+{RADIO1}+{CHECKBOX1}+{CHECKBOX2}


Поле «Шаблон страницы с благодарностями» просто введите любой символ, чтобы оно было заполнено, например, «Ок!».

Одной из особенностью является то, что если в поле будет вводится отрицательное число, то в поле «Шаблон сообщения» необходимо этот параметр занести в круглые скобки, например,
{FIELD1}+({FIELD2})


Алгоритм калькулятора построен на принципе обратной польской записи.

Скачать (обновил — 5.02.2010).
Демонстрация работы / Демонстрация работы (2)
0

Комментарии:3

avatar
  • Polosat
  • 28 января 2010, 10:25
  • 0
а есть, где глянуть демо?
avatar
Обновил топик, можете посмотреть демо :)
avatar
сегодня чуть позже выложу демки
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.