Имеется следующая конструкция: есть два товара, которые можно выбрать чекбоксами. При выборе товара, с помощью js появляется дополнительный инпут, где надо указать его количество (по умолчанию «1»)
С помощью плагина formit я так это реализовал:
[[!FormIt?
&hooks=`email,redirect`
&emailTpl=`EmailFromСustomer`
&emailTo=`111@yandex.com`
&emailSubject=`Заявка на покупку"`
&redirectTo=`21`
]]
<!-- Ручка -->
<input type="hidden" name="pen[]" value="">
<input type="checkbox" id="pen" name="pen[]" value="Ручка"
[[!+fi.pen:FormItIsChecked=`pen`]] onclick="showHide('pen-input');" >
<label for="pen">Ручка</label>
<!-- Всплывающий инпут Ручки -->
<div id="pen-input" style="visibility:hidden">
<input type="text" id="pen-number" name="pen-number" value="1[[!+fi.pen-number]]">
</div>
<!-- Товар-2 -->
<input type="hidden" name="pencil[]" value="">
<input type="checkbox" id="pencil" name="pencil[]" value="Карандаш"
[[!+fi.pencil:FormItIsChecked=`pencil`]] onclick="showHide('pencil-input');" >
<label for="pencil">Карандаш</label>
<!-- Всплывающий инпут Карандаша -->
<div id="pencil-input" style="visibility:hidden">
<input type="text" id="pencil-number" name="pencil-number" value="1[[!+fi.pencil-number]]">
</div>
Чанк, описывающий письмо с сервера таков:
Покупатель выбрал:<br />
[[+pen]] — [[+pen-number]] <br />
[[+pencil]] — [[+pencil-number]]
В итоге, если покупатель выбрал оба товара и указал их количество (по умолчанию «1»), то вид письма таков:
Покупатель выбрал:
Ручка — 1
Карандаш — 1
Но если он выбрал только первый товар, то второй в письмо не включается, однако от него остаётся счётчик с «1» по умолчанию:
Покупатель выбрал:
Ручка — 2
— 1
Не могу придумать, как избежать попадания количества невыбранного товара в письмо.
В какую сторону копать, как быть?