A nice way to dynamically update HTML on a page (without leaving the
page) is to use document.innerHTML and XMLHTTP in JavaScript, then
communicate with the server via XML snippets (plus some server side
scripts of course, I use PHP5+MySQL). If you want to see an example,
you can take a look at my chat:
http://blog.outer-court.com/chat/
(And I was inspired by Google Suggest, which uses XMLHTTP.)
Of course, this can also be used for form validation and similar tasks.