This is my code, I can't understand why formit sends both the forms. It means I have 2 messages instead of one.
I use two templates and different &prefix
:
[[!FormIt?
&hooks=`spam,email,emailUser`
&emailTo=`[email protected]`
&emailFromName=`[[+name]]`
&emailTpl=`ContactTpl`
&prefix="fi"
]]
<div>[[+fi.error.error_message]]</div>
<form action="[[~[[*id]]]]" method="post" id="recall">
<input type="hidden" name="nospam:blank" value="" />
<input type="text" name="name" class="right" id="recall_name" required="required" value="[[+fi.name]]">
<input type="number" name="number" class="right" id="recall_number"value="[[+fi.number]]" >
<textarea name="message:required:stripTags" value="[[+fi.message]]"></textarea>
<input type="submit">
</form>
[[!FormItRetriever]]
[[!FormIt?
&hooks=`spam,email,emailUser`
&emailTo=`[email protected]`
&prefix="cs"
&emailFromName=`[[+sup_name]]`
&emailTpl=`SupportTpl`
]]
<div>[[+fi.error.error_message]]</div>
<form action="[[~[[*id]]]]" method="post" id="support">
<input type="hidden" name="nospam:blank" value="" />
<label for="name" class="right" >Имя:</label>
<input type="text" name="name" class="right" id="support_name" required="required" value="[[+cs.sup_name]]">
<input type="number" name="number" value="[[+cs.sup_number]]">
<textarea name="message:required:stripTags"value="[[+cs.sup_message]]"></textarea>
<input type="submit">
</form>
take a look at the submitVar attribute: http://rtfm.modx.com/extras/revo/formit
your formit calls don't know which form they should be submitting. Set a name on each form submit control and set the submitVar for each in your formit calls.