Freeform allows for true multi-page forms (a POST submit per page). Here's some important information to know about them:
- Each page is submitted through POST
- There is no unique URI segment per page at this time.
- Users cannot jump ahead to different pages, only forward and backward 1 page.
AJAX currently will not work with multi-page forms at this time. We hope to be able to resolve this issue in an upcoming release.
- Sessions for incomplete submissions are stored for 3 hours, and then are removed after that.
Multi-page forms cannot be started, stopped and returned to again at a later time to finish. The process has to be a continuous one, but the user has 3 hours before the form will timeout the submission.
- Users can go backward in forms (if enabled).
- Any data entered into the current page that has NOT yet been submitted "forward" will not be saved when clicking Previous submit button. As in, clicking the Previous button will not save any changes you made to that form page.
Multi-page forms cannot go backward at this time when using in conjunction with reCAPTCHA v2 Invisible and reCAPTCHA v3 (it works fine with reCAPTCHA v2 Checkbox). We hope to be able to resolve this issue in an upcoming release.
- If an earlier page contains file upload field(s), files will actually be uploaded before the form is officially submitted.
- If the form is never completed, the submission clearing (described above) will remove the file after 3 hours.
When editing forms in the Composer interface inside the control panel, if you wish to rearrange pages, simply drag and drop the tabs. If you need to move a field from one page to another, drag and drop the field onto the page tab you'd like it to be moved to. It will then appear at the top of that page, and you can finish placing it where it should be on that page.