I am developing a web application that collects data over multiple steps through a wizard. Steps are generally not interdependent, in that data input at each step has little or no effect on the consequent steps. However each step may have a set of validations which determine whether the user can progress to the next step by clicking ‘continue’
What should be the behavior when the user clicks previous?
a> Quickly move to the previous page, thus losing all the unsaved data in the form. Prompting the user with a warning is an option, but it can become irritating quite soon.
b> Move to the previous page saving all the data in the current step – without triggering validations, so that when the user comes back she sees the form in the same state that she left it in.
c> any other behaviour
All opinions are welcome 🙂
You should save the entered data, but you can get away by saving it volatilely (clientside or in memory – cookies or SESSION). No need to make it persistent in your DB or anything – if the user doesn’t complete the wizard entirily, there need not be a trace (though it would be nice, if you can afford the resources. Cookies should suffice though).
This reflects the user’s Mental Model: most popular Windows installers work like this.
This conforms with DRY – Don’t Repeat Yourself. If the user has already answered the question, don’t make him re-answer.