We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 40955
    • 11 Posts
    We are having a very odd problem with getting a success message to print on successful form submission.

    This is out FormIT code

    [[!FormIt?
       &hooks=`successMessage,email,chimpHooker`
       &emailTpl=`BookingEmail`
       &emailTo=`[email protected]`
       &emailBCC=`[email protected]`
       &emailSubject=`Booking From MSA`
       &successMessage=`Your booking has been received, we will sending you a confirmation email very soon!`   
       &vTextRequired=` - Required!`
       &validate=`name:required,email:email:required,tel:required,type:required,package:required,dates:required,comments:required:stripTags`
       &mcApiKey=`0a1d55ca0fdd46972a788abdbb6c313c-us4`
       &mcListId=`5c8eb14e4e`
       &mcMergeTags=`EMAIL:email`
       &mcSendWelcome=`0`
       &mcDoubleOptin=`0`
       &mcFailOnAlreadySubscribed=`1` 
    ]]
    [[!+fi.error_message:notempty=` MSG 2 FOLLOW - [[!+fi.successMessage]]`]]
    [[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
    <form action="[[~[[*id]]]]" method="post">
    <input type="hidden" name="firstname" value="" />
    <table class="form">
        <tr>
            <td><label for="name">Name<span class="error"> [[!+fi.error.name]]</span></label><input name="name" id="name" type="text"></td>
        </tr>
        <tr>
            <td><label for="email">Email<span class="error"> [[!+fi.error.email]]</span></label><input name="email" id="email" type="text"></td>
        </tr>
        <tr>
        	<td><label for="tel">Tel<span class="error"> [[!+fi.error.tel]]</span></label><input name="tel" id="tel" type="text"></td>
        </tr>
        <tr>
            <td><label for="type">Type of Traveller<span class="error"> [[+fi.error.type]]</span></label>
          <select name="type" id="type">
            <option value="">Select an option...</option>
              <option value="Solo Traveller" [[!+fi.type:FormItIsSelected=`Solo Traveller`]]>Solo Traveller</option>
              <option value="Couple" [[!+fi.type:FormItIsSelected=`Couple`]]>Couple</option>
              <option value="Family" [[!+fi.type:FormItIsSelected=`Family`]]>Family</option>
              <option value="Group" [[!+fi.type:FormItIsSelected=`Family`]]>Group</option>
          </select>
          </td>
        </tr>
        <tr>
            <td><label for="package">Surf Package Required<span class="error"> [[+fi.error.package]]</span></label>
          <select name="package" id="package">
            <option value="">Select an option...</option>
              <option value="Beginner" [[!+fi.package:FormItIsSelected=`Beginner`]]>Beginner</option>
              <option value="Intermediate" [[!+fi.package:FormItIsSelected=`Intermediate`]]>Intermediate</option>
              <option value="Advanced" [[!+fi.package:FormItIsSelected=`Advanced`]]>Advanced</option>
              <option value="Saharan Adventure" [[!+fi.package:FormItIsSelected=`Saharan Adventure`]]>Saharan Adventure</option>
              <option value="N/A" [[!+fi.package:FormItIsSelected=`N/A`]]>N/A</option>
          </select>
          </td>
        </tr>
        </table>
        
        <table class="form">
        <tr>
            <td><label for="dates">Preferred Dates<span class="error"> [[!+fi.error.dates]]</span></label><input name="dates" id="dates" type="text"></td>
        </tr>
        <tr>
            <td><label for="comments">Questions & Comments<span class="error"> [[!+fi.error.comments]]</span></label><textarea name="comments" id="comments" rows="5"></textarea></td>
        </tr>
        <tr>
            <td><label for="urgency">Level Of Urgency<span class="error"> [[+fi.error.urgency]]</span></label>
          <select name="urgency" id="urgency">
            <option value="">Select an option...</option>
              <option value="Shopping Around" [[!+fi.urgency:FormItIsSelected=`Shopping Around`]]>Shopping Around</option>
              <option value="Got Pass From Partner/Spouse" [[!+fi.urgency:FormItIsSelected=`Got Pass From Partner/Spouse`]]>Got Pass From Partner/Spouse</option>
              <option value="My Bags Are Packed!" [[!+fi.urgency:FormItIsSelected=`My Bags Are Packed!`]]>My Bags Are Packed!</option>
          </select>
          </td>
        </tr>
        <tr>
            <td><input type="checkbox" name="mailinglist" checked="checked" value="yes" [[!+fi.mailinglist:FormItIsChecked=`yes`]] > News & offers sent directly to me via email? ...yes please!</td>
        </tr>
        </table>
        <div class="clear"></div>
        <p class="actions"><button type="submit"><span><span>Book Now!</span></span></button></p>
    </form>
    <hr />
    


    And repeated in the error log is: [2012-08-30 13:00:27] (ERROR @ /index.php) [FormIt] Could not find hook "successMessage".
      • 37946
      • 70 Posts
      Just a guess - but is it this?

      [[!+fi.error_message:notempty=` MSG 2 FOLLOW - [[!+fi.successMessage]]`]]
      [[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
      


      I very well could be reading this wrong, but it looks like it's saying:
      "if error_message is not empty - show the successMessage"

      maybe try this?
      [[!+fi.successMessage:notempty=`<p> [[!+fi.successMessage]]</p>`]]
      


      Another alternative would be to add a redirect hook as the last hook - then have a success message on that page.
        • 40955
        • 11 Posts
        I see what you mean - that was a bug that i managed to introduce myself while trying to get it to work lol - have altered the code to not use :notempty - still not showing success messages though sad

        [[!FormIt?
           &hooks=`successMessage,email,chimpHooker`
           &emailTpl=`BookingEmail`
           &emailTo=`[email protected]`
           &emailBCC=`[email protected]`
           &emailSubject=`Booking From MSA`
           &successMessage=`Your booking has been received, we will sending you a confirmation email very soon!`   
           &vTextRequired=` - Required!`
           &validate=`name:required,email:email:required,tel:required,type:required,package:required,dates:required,comments:required:stripTags`
           &mcApiKey=`0a1d55ca0fdd46972a788abdbb6c313c-us4`
           &mcListId=`5c8eb14e4e`
           &mcMergeTags=`EMAIL:email`
           &mcSendWelcome=`0`
           &mcDoubleOptin=`0`
           &mcFailOnAlreadySubscribed=`1` 
        ]]
        [[!+fi.successMessage]]
        [[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
        <form action="[[~[[*id]]]]" method="post">
        <input type="hidden" name="firstname" value="" />
        <table class="form">
            <tr>
                <td><label for="name">Name<span class="error"> [[!+fi.error.name]]</span></label><input name="name" id="name" type="text"></td>
            </tr>
            <tr>
                <td><label for="email">Email<span class="error"> [[!+fi.error.email]]</span></label><input name="email" id="email" type="text"></td>
            </tr>
            <tr>
            	<td><label for="tel">Tel<span class="error"> [[!+fi.error.tel]]</span></label><input name="tel" id="tel" type="text"></td>
            </tr>
            <tr>
                <td><label for="type">Type of Traveller<span class="error"> [[+fi.error.type]]</span></label>
              <select name="type" id="type">
                <option value="">Select an option...</option>
                  <option value="Solo Traveller" [[!+fi.type:FormItIsSelected=`Solo Traveller`]]>Solo Traveller</option>
                  <option value="Couple" [[!+fi.type:FormItIsSelected=`Couple`]]>Couple</option>
                  <option value="Family" [[!+fi.type:FormItIsSelected=`Family`]]>Family</option>
                  <option value="Group" [[!+fi.type:FormItIsSelected=`Family`]]>Group</option>
              </select>
              </td>
            </tr>
            <tr>
                <td><label for="package">Surf Package Required<span class="error"> [[+fi.error.package]]</span></label>
              <select name="package" id="package">
                <option value="">Select an option...</option>
                  <option value="Beginner" [[!+fi.package:FormItIsSelected=`Beginner`]]>Beginner</option>
                  <option value="Intermediate" [[!+fi.package:FormItIsSelected=`Intermediate`]]>Intermediate</option>
                  <option value="Advanced" [[!+fi.package:FormItIsSelected=`Advanced`]]>Advanced</option>
                  <option value="Saharan Adventure" [[!+fi.package:FormItIsSelected=`Saharan Adventure`]]>Saharan Adventure</option>
                  <option value="N/A" [[!+fi.package:FormItIsSelected=`N/A`]]>N/A</option>
              </select>
              </td>
            </tr>
            </table>
            
            <table class="form">
            <tr>
                <td><label for="dates">Preferred Dates<span class="error"> [[!+fi.error.dates]]</span></label><input name="dates" id="dates" type="text"></td>
            </tr>
            <tr>
                <td><label for="comments">Questions & Comments<span class="error"> [[!+fi.error.comments]]</span></label><textarea name="comments" id="comments" rows="5"></textarea></td>
            </tr>
            <tr>
                <td><label for="urgency">Level Of Urgency<span class="error"> [[+fi.error.urgency]]</span></label>
              <select name="urgency" id="urgency">
                <option value="">Select an option...</option>
                  <option value="Shopping Around" [[!+fi.urgency:FormItIsSelected=`Shopping Around`]]>Shopping Around</option>
                  <option value="Got Pass From Partner/Spouse" [[!+fi.urgency:FormItIsSelected=`Got Pass From Partner/Spouse`]]>Got Pass From Partner/Spouse</option>
                  <option value="My Bags Are Packed!" [[!+fi.urgency:FormItIsSelected=`My Bags Are Packed!`]]>My Bags Are Packed!</option>
              </select>
              </td>
            </tr>
            <tr>
                <td><input type="checkbox" name="mailinglist" checked="checked" value="yes" [[!+fi.mailinglist:FormItIsChecked=`yes`]] > News & offers sent directly to me via email? ...yes please!</td>
            </tr>
            </table>
            <div class="clear"></div>
            <p class="actions"><button type="submit"><span><span>Book Now!</span></span></button></p>
        </form>
        <hr />
        


        Thank you for helping though smiley Back to the drawing board - doh!
          • 40955
          • 11 Posts
          Solved it - changed the order of the hooks to be "successMessage,email,chimpHooker" and removed a "return false" from the chimpHooker snippet - seems to have been causing the success msg to fail.

            • 28042 ☆ A M B ☆
            • 24,524 Posts
            Yes, a return false will definitely put a damper on any further action.
              Studying MODX in the desert - http://sottwell.com
              Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
              Join the Slack Community - http://modx.org
              • 37946
              • 70 Posts
              ARG... I knew that - and didn't even think of bringing it up. smiley #fail
              Glad you got it working!