Multi-step form

60 minutes


Your PM has asked you to create the most annoying signup form in the world: a form that has 4 fields but on a series of 4 different screens. Your name, email, date of birth, and password will be entered separately into the site:

The specs are as follows:

  1. Back links appear on every screen other than the first one, going back to the step the user was just on
  2. Input is required on every screen prior to proceeding to the next.
  3. On the last screen, provide a submit button that calls a handleSubmit({ name: ..., email: ..., password: ... }) function passing in the values of all the fields
  4. Show a success screen

To get started, fork one of the following Codepen templates:


Additional challenges


See solution
Get future questions delivered straight to your inbox for free

Sign up and receive instant access to new questions when we publish them.

We‘ll only use your information to deliver new questions and to provide you updates about our product. We‘ll never spam you or sell your information without your consent. Unsubscribe at any time.