I think that your problem is merely the indication that you actually need one single form instead of Form1 to Form4. Just think about it: you require in single HTTP request to post all data from all four forms. By the way, the whole request is nothing more but a text string with parameter name/value pairs written inside of it. But this is exactly what one single HTML form does.
So, you simply need to re-design your page and enclose all four or more parts in one form.
However, you still can make your four parts distinct
visually. To make an impression of going from Form3 to Form4, etc., you can make four or more parts in, say, several
<div>
elements and control their visibility to show them one at a time with some navigation control (forward/back, next/previous). As with this approach you need to do it purely in a client part, I would use jQuery, please see:
http://en.wikipedia.org/wiki/JQuery[
^],
http://jquery.com/[
^].
With jQuery, such things are really easy to implement and maintain; it also looks very compact.
If you still want four separate forms, you should deal with the fact they send separate HTTP request anyway, no matter what you do. This is the opposite variant which you can consider. You should integrate them together on logical level. This is more difficult as you need to maintain the session on each step. Technically, all posts are independent, you need to identify that they come from the same user and put them together, take into account skipped forms, data which was post on other steps, etc. The user can make a mistake and be able to go back if the current part passed your validation or not. This approach is very usual.
—SA