Save progress - custom form


(Gavin Boyd) #1

Is there a way to add the save button to a custom form, to allow a logged in user save progress through a multi page form?


(Douglas (@finnatic at @waikato)) #2

There must be some option - we send reminder emails for some of our forms which I think uses one of the options on https://matrix.squiz.net/manuals/custom-form/chapters/incomplete-submissions-screen


(Dave Lang) #3

If by custom form you mean a form using customized body contents, there’s the %save_button% keyword, you can change the returned HTML by using keyword modifiers


#4

Yes, indeed there is, and it all standard functionality. In fact, the saving happens automatically, everytime you save or move from one page to another in a multi-page form, Matrix automatically saves the values in a hidden asset (type 3) under the “Incomplete submissions” folder under the form asset. The trick is letting the user get back to it.

To do that you have to do a few things, but first, you need:

  1. The system to make people log in before accessing the form (there is a way to do public incomplete submissions as well, but you mentioned being logged in)
  2. Multi-page form
  3. Make user the users email address in the user asset is correct

Then enable both the “Page Contents” and “Exit page Contents” bodycopy. Then in the page contents bodycopy add the %save_and_exit_button% keyword, this will add the save and exit button. So something like:

%current_page_contents%
%previous_page_button% %submit_button% %save_and_exit_button% 

When the user clicks this button, they will be taken to the “Exit page Contents” page so you need to add a message and display the URL they can use to return to the page. This URL includes the asset id of the asset that is storing the form values. So something like this.

Thank-you for staring your submission, you may return and complete your submission any time by using the 
following link: 
 
<br>

<a href="%return_to_form_url_latest%">%return_to_form_url_latest%</a>

This page will display the link the user can use to return to the current submission.

To have the address emailed to them, so they don’t need to copy this URL enable and complete the email section in the “Incomplete submission” in the form menu (not the public incomplete email section on the form contents page). Again you can use the %return_to_form_url_latest% keyword to include the URL for the user. There are others and they are shown just below the email body section.

Just remember the incomplete submission email is via the job manager so even if you put in 1 minute it may take up to 15 minutes to actually send the email .