What is the standard method for implementing a “wizard” using successive web forms?
I’m implementing a CGI that accepts several options, files, etc. But some of these options have dependencies to one another, and allow or require other options to be used.
For example, one type of object that needs to be initialized by the CGI can be created using:
- two files of type X
- two strings
- one file of type Y
In my command line version, I look whether two files of type X, two strings, or one file of type Y is provided, and construct the object in the appropriate manner.
In my CGI, I’d like to do this using multiple pages or DHTML (perhaps a radio button that specifies which arguments the user wishes to provide; changing the radio button will change the form to the right).
Anyway, I have this situation for 3 main groups of arguments. I thought it would be pleasing to the user to create a 6 “page” wizard (think online dating):
Page 1:
“How would you like to specify your proteins of interest?”
radio button:
Page 2:
“Great! Please choose your (either ‘fasta files’, ‘prefix and suffix strings’, or ‘text file’).”
(appropriate web form)
Unfortunately, if the form is split over different pages, I’m not sure how the 3rd, 4th, etc. pages will know the location of the temporary folder created for the uploaded files from pages 1 and 2.
I’d really appreciate your advice; I have a good command line app, but I am having a difficult time making beautiful interface code that will do what I want. And I’d be shocked if there isn’t a very easy standard way to do this with Django or some other framework; it just seems it must come up very frequently.
There’s a wizard plugin for jQuery.
http://plugins.jquery.com/project/formwizard
If you don’t know jQuery, it is a javascript framework for doing DHTML.
Try the demo at http://thecodemine.org/