Несколько форм на одной странице, дублируются письма на почту

Modx + FormIt + AjaxForm
На сайте пытаюсь использовать три формы, при отправке данных из любой формы, на почту сваливается три письма. В инете написано про submitVar, но мне это не помогло.
Для примера:
[[!AjaxForm? 
                  &form=`tpl.AjaxForm-Allpages` 
                  &snippet=`FormIt` 
                  &hooks=`email`
                  &emailSubject=`Заявка с сайта`
                  &emailTo=`mymail@inbox.ru`
                  &emailFrom=`mymail@yandex.ru`
                  &emailTpl=`tpl.email`
                  &submitVar=`form1`
                  &validate=``
                ]]
В самой форме для кнопки добавил name=«form1»
<button type="submit" class="btn btn-dark btn-lg" name="form1">Записаться</button>
Подскажите пожалуйста как правильно разделить эти формы?
Андрей
10 декабря 2019, 09:39
modx.pro
1 937
0

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

Антон Тарасов
10 декабря 2019, 10:26
0
попробуйте вместо button
<input type="submit" class="btn btn-dark btn-lg" name="form1" value="VALUE" />
Насколько помню Formit важно, чтобы в POST было передано значение form1
    Андрей
    10 декабря 2019, 10:41
    0
    Все равно все три приходят.
    Для каждой формы прописал &submitVar=`form1`, &submitVar=`form2`, &submitVar=`form3` соответственно.
    И в самой форме заменил button на input по вашему примеру.
      Тодор
      10 декабря 2019, 11:38
      0
      В каждой форме сделайте инпути с разными name
      <form id="form-1" method="post" action="">
          <input name="name-1" placeholder="Имя">
          <input name="phone-1" placeholder="Телефон">
          <button type="submit">Отправить</button>    
      </form>
      <form id="form-2" method="post" action="">
          <input name="name-2" placeholder="Имя">
          <input name="phone-2" placeholder="Телефон">
          <button type="submit">Отправить</button>    
      </form>
      <form id="form-3" method="post" action="">
          <input name="name-3" placeholder="Имя">
          <input name="phone-3" placeholder="Телефон">
          <button type="submit">Отправить</button>    
      </form>
      В связке FormIt и AjaxForm, submitVar можна не указывать.
      И еще поставьте в &validate=`` хотя бы одно обязательное поле
        Андрей
        10 декабря 2019, 12:23
        0
        все сделал так, как написали, но все равно при отправке одной формы, на почту прилетает три одинаковых письма. (((. Может в самом AjaxForm что-то надо исправить?
          Антон Тарасов
          10 декабря 2019, 13:56
          0
          AjaxForm просто обертка, сделайте проще для начала — три вызова Formit.
        star007
        23 ноября 2021, 12:02
        0
        Если решили данную проблему, то как? Если не затруднит ответить.
        З.Ы, Спасибо.
          iWatchYouFromAfar
          23 ноября 2021, 19:15
          0
          submitVar надо вообще убрать при использовании ajaxForm.
            Алексей Смирнов
            23 ноября 2021, 21:34
            0
            Допустим submitVar = 'belka'. Если используется button, то:
            <button type="submit" name="belka" value="123">Отправить</button>

            Если сабмит input, то:
            <input name="belka" value="Отправить">
            Просто запомите и проблем с этим submitVar не будет.
            Для каждой отдельной формы нужно прописать.
            т.е. важно чтобы при сабмит — поле как бы небыло пустым. тогда все будет норм.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            8