@msatmb

Как в modx сделать обратную связь с двумя формами на странице?

На лендинге используется две формы созданные при помощи FormIt и AjaxForm.
1)
[[!AjaxForm?
        	&snippet=`FormIt`
        	&form=`order-form-ajax`
        	&hooks=`email`
        	&emailSubject=`Звонок с сайта [[++site_url]]`
        	&emailTo=`123@gmail.com`
        	&validate=`af_name:required,af_phone:required:minLength=`16` `
        	&validationErrorMessage=`В форме содержатся ошибки!`
        	&successMessage=`Сообщение успешно отправлено`
        	&emailTpl=`orderEmailTpl1`
        ]]
и обработчик
<form method="post" action="[[~[[*id]]]]" id="orderform-1">
   <fieldset>
       <input type="text" name="af_name" class="textfield" id="af_name" value="[[!+fi.af_name]]" placeholder="Ваше имя*"/>
       
        <input type="text" name="af_phone" id="af_phone" value="[[!+fi.af_phone]]" placeholder="Ваш телефон*"/>
        
	 <input type="submit" name="af_submit" class="buttonorder" value="Заказать звонок" />
   </fieldset>
   [[+fi.success:is=`1`:then=`
		<div class="alert alert-success">[[+fi.successMessage]]</div>
	`]]
	[[+fi.validation_error:is=`1`:then=`
		<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
	`]]
</form>
<span class="error_name">[[+fi.error.af_name]]</span>
<span class="error_name">[[+fi.error.af_phone]]</span>

2)
[[!AjaxForm?
        	&snippet=`FormIt`
        	&form=`order-form-ajax2`
        	&hooks=`email`
        	&emailSubject=`Звонок с сайта [[++site_url]]`
        	&emailTo=`123@gmail.com`
        	&validate=`phone-2:required`
        	&validationErrorMessage=`В форме содержатся ошибки!`
        	&successMessage=`Сообщение успешно отправлено`
        	&emailTpl=`orderEmailTpl`
        ]]
и обработчик
<form method="post" action="/" id="orderform-2">
   <fieldset>
       <input type="text" name="name-2" class="textfield" id="name-2" value="[[!+fi.name-2]]" placeholder="Ваше имя*"/>
       <span class="error_name">[[+fi.error.name-2]]</span>
        <input type="text" name="phone-2" class="textfield" id="phone-2" value="[[!+fi.phone-2]]" placeholder="Ваш телефон*"/>
        <span class="error_name">[[+fi.error.phone-2]]</span>
	 <input type="submit" name="submit" class="buttonorder" value="Заказать звонок" />
   </fieldset>
   [[+fi.success:is=`1`:then=`
		<div class="alert alert-success">[[+fi.successMessage]]</div>
	`]]
	[[+fi.validation_error:is=`1`:then=`
		<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
	`]]
</form>


Так вот какую-бы я форму не заполнил, на мыло приходит два письма. Подскажите куда копать :)
  • Вопрос задан
  • 2610 просмотров
Пригласить эксперта
Ответы на вопрос 1
Derzaiii
@Derzaiii
Типичный телец
Может быть поздно пишу, но всё же - Вам нужно в вызов каждой формы добавить параметр &submitVar

т.е.:
[[!AjaxForm?
        	......
              &submitVar=`form1`
        ]]

<form method="post" action="[[~[[*id]]]]" id="orderform-1">
   .......
   <input type="submit" name="form1 " class="buttonorder" value="Заказать звонок" />
   .............

И точно так же для второй - только с любым другим значением поля &submitVar
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы