Yes, I also think jQuery is definitely 'the way to go', if I've undestood well your problem.
Give this a try:
http://jquery.malsup.com/form/
It's essentially what kloadx10 said but a bit more customizable. I found the ajaxSubmit the best way to deal with advanced and dynamic contact forms (visit the above link, clic on 'Examples' tab and choose 'ajaxSubmit' to see demo code). In fact I've used that method in a (now closed) website and I'm using it in a website that should be deployed soon.
Really versatile and with the
JS/client + PHP/server approach you're looking for. You can even send info to a html div tag ("e-mail is wrong", "you need to write a message", "read our ToS before sending the form", "choose at least one option", "everything was ok and the mail was sent" and so on) to dynamically guide the end-user. And without needing to reload entire page (only that little div via ajax), a thing that is very important sometimes.