All of this is possible via a little bit of JavaScript. However, the question is, would you want to complicate things over and over or would you rather look for another solution. I think you're standing too close to the tree to see the forest. There must be a better way of achieving this. Looking at your problem from my perspective, I have the following questions/concerns:
1. Internet applications are not continuous. You request a page, the request is processed by the server and then the connection between the user and server is lost. Only when a new page is requested does this connection re-establish again, to perform given tasks. Saying that, forcing people to finish the form they have selected does little to nothing for you. They can still close their browser or simply type in another URL in their address bar. You cannot fight against that. Since connection is lost when the page is served, no matter what users select in the form, if it is not submitted, the value will be lost. Your idea impedes the users' usual routine and might not be appreciated by all.
2. You say that all three forms have to be submitted, however you are using three buttons which are available to switch between forms, confusing the users, since that usually means options rather than necessities. So I would reconsider this approach and go down another way:
a) have three pages called consecutively -- this will ensure that all data is properly sent;
b) have one giant form with all three pages separated by fieldsets (that's what they are there for);
c) have one giant form but play with the display: none and display: block properties for hiding/showing three separate parts.
All these solutions will give you better control over what you're trying to do. If you have three consecutive pages, you can send all the information on the last page and use the submits on the first two only to carry information over. If you use one of the latter two options, you can have a javascript validation (and a server-side one), making sure users don't forget to fill out everything.
All in all, I think you're at the time where you need to step back and ask yourself: What should happen? rather than asking yourself How could I fit my idea in this framework. If you can't figure it out, tell us what should happen and maybe we can help you find the best possible solution not just make this current solution work.