"immediate" is an option to short-circuit the normal flow on a
JSF submit.
JSF pages are rendered as HTML, and HTML can only be modified after it's received by a client-side script. The core JSF package doesn't have any provision for client-side scripting.
Fortunately, there's more available than core JSF. What you're describing is done very easily using the RichFaces tag set. RichFaces was developed by Exadel, and is now part of the RedHat/JBoss set of
J2EE resources.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.