
February 9th, 2005, 12:09 PM
|
|
Registered User
|
|
Join Date: Feb 2005
Posts: 12
Time spent in forums: 3 h 14 m 12 sec
Reputation Power: 0
|
|
|
Multi-Page Forms
I have a form which is too long to be useful if displayed on one page. I have it broken up into 7 sections. All 7 are generated by the same PHP source file, from data in a database. My questions are not about the technical details of the PHP coding (that's under control) but about the design and user interface issues involved.
Right now, when the user updates a section of this form they have two submit buttons -- one to submit it and go to the next section, another to submit it and finish (return to a higher-level page). There is also a navigation form at the top that lets them jump from any section to any other, and uses JavaScript to prompt if they try to jump without having saved changes they made to the page. All of this is working fine.
What's bothering me here is that when the user is done editing the data I use their input to regenerate a style sheet (the form allows them to customize the appearance of a web page for their customers). That's expensive -- relatively speaking -- in server load so I'd rather do it only once, when they're really done. Right now I do it every time they submit any page -- i.e. whenever any of the seven pages is submitted, the generation code runs. If I don't do that, then changes are lost.
I have considered reorganizing the code so that they have "Next" and "Prev" buttons or links, and the jump form, and data is always saved (but temporarily) as they move from page to page. They then have to hit a "Done" button to actually save it permanently and update the style sheet. Then if desired I can use Javascript on any links to check if the form data has been changed, and warn them about jumping off to another page if it has.
So so far I have two options -- the present system, which regenerates the CSS file after every section; or the approach described in the previous paragraph, which is more efficient but which requires the user to remember to say when they're done.
I would be glad to have some comments on the design issues for those, or to hear other ideas.
Thanks,
Tom
|