Problems, need help? Have a tip or advice? Post it here.
2 posts Page 1 of 1
Hi,

I have two forms on one page. One form is using the multi_form_handler I found on this forum, and the other is just a simple form. Each form works individually, as well as in this specific order: User submits form number 2 (single form) successfully, then submits form number 1 (multi page form) successfully. HOWEVER, if a user submits form number 1 (multi page form) successfully, then proceeds to submit form number 2 (single form), nothing happens, the page refreshes, and all values are cleared.

Here is the related code for form number 1 (multi page form:

Code: Select all
<cms:form anchor='0' name="request-form" method='post'>
         <cms:set total_pages = '2' />
         <cms:embed 'multi_form_handler.html' />
         <cms:if k_current_step gt total_pages >
            <p style="display: block">Thank you. We have recieved your request and will respond as soon as possible.</p>
            <cms:send_mail from=k_email_from to=k_email_to subject="Service Request for The Business Builders">
              The following is a service request:
              <cms:show k_success />
            </cms:send_mail>
         <cms:else />
            <cms:if k_current_step='1' >
               <div class='form-field field-text'>
                <cms:input id='request-name' name='request-name' novalidate='' placeholder='My name is...' required='1' type='text' />
                <cms:if k_error_request-name>
                  <p id="request-name-error" class="error" for="request-name">Please enter your name.</p>
                </cms:if>
              </div>
              <div class='form-field field-text'>
                <cms:input id='request-email' name='request-email' novalidate='' placeholder='My email address is...' validator="email" required='1' type='text' />
                <cms:if k_error_request-email>
                  <p id="request-email-error" class="error" for="request-email">Please enter your email.</p>
                </cms:if>
              </div>     
            </cms:if>

            <cms:if k_current_step='2' >
               <div class='group-checkbox request-step-two'>
                <legend>
                  I'm interested in...
                </legend>
                <div class='field field-checkbox'>
                  <cms:input type="checkbox" name="request-services" required="1" opt_values="<span></span>Service One | <span></span>Service Two | <span></span>Service Three | <span></span>Service Four | <span></span>Service Five | <span></span>Service Six" />
                  <cms:if k_error_request-services>
                    <p id="request-services-error" class="error" for="request-services">Please select at least one service.</p>
                  </cms:if>
                  <div class="cf"></div>
                </div>
              </div>
            </cms:if>   
           
            <!--
               Navigation with 'Next' and 'Previous' buttons.
               IMP! The button that navigates back has to be named 'back'
            -->

            <p class="nav">
               <cms:if k_current_step gt '1'><input type="submit" class="link-button back-btn" name="back" value="Previous"></cms:if>
               <input type="submit" class="link-button <cms:if k_current_step=total_pages>send-btn<cms:else />next-btn</cms:if>" name="next" value="<cms:if k_current_step=total_pages>Finish<cms:else />Next</cms:if>">
            </p>
         </cms:if>
      </cms:form>


and the related code for form number 2 (single form):

Code: Select all
<cms:form anchor='0' action='' name="contact-form" method="post">
          <div class='form-field field-text'>
            <cms:input autocomplete='off' id='contact-name' name='contact-name' placeholder='Full Name' required='1' type='text' />
            <cms:if k_error_contact-name>
              <label id="contact-name-error" class="error" for="contact-name">Please enter your name.</label>
            </cms:if>

          </div>
          <div class='form-field field-text'>
            <cms:input autocomplete='off' id='contact-email' name='contact-email' placeholder='Email' required='1' validator="email" type='text' />
            <cms:if k_error_contact-email>
              <label id="contact-email-error" class="error" for="contact-email">Please enter a valid email address.</label>
            </cms:if>

          </div>
          <div class='form-field field-textarea'>
            <cms:input type="textarea" autocomplete='off' id='contact-message' name='contact-message' placeholder='Message' required='1'></cms:input>
            <cms:if k_error_contact-message>
              <label id="contact-message-error" class="error" for="contact-message">Please enter a message.</label>
            </cms:if>

          </div>
          <cms:input name="submit" class="link-button" type="submit" value="Send" />
          <cms:if k_success>
            <p style="display: block">Success! Your message has been sent.</p>
            <cms:send_mail from=k_email_from to=k_email_to subject="A message for The Business Builders">
              The following is an email sent by a visitor to your site:
              <cms:show k_success />
            </cms:send_mail>
          </cms:if>
        </cms:form>


Any ideas? Thanks very much
Hi,

The multi-page form is really a hack.
It expects certain $_POST, $_GET variables that'll get messed up with a second form on the same page. So, I am sorry, you can use only one instance of a multi-page form per page (no such restrictions for normal forms though).
2 posts Page 1 of 1
cron