That sounds like a Javascript/Ajax task.
Ajax calls are asynchronous, and this makes them ideal for what you are trying to achieve.
You send the form content through an ajax request and then manipulate the DOM of the page to show something like a loading bar while the request is taking place. When the request finishes you can then manipulate the DOM again to show the result of the form processing, or redirect to a new page with that info.