Do you actually need to go back to the server to get more HTML on a user action? Say for example on an onclick event?
Because if you don't care about going back to the server, and just want to display (and/or hide) elements based upon user clicks - then this may help you out a bit. I use this to display information about our Staff (names, pics, phone numbers, pagers, etc). User clicks a name, and the relevent portion unhides. Looks somewhat like a frameset - without being a frame set. Works really nicely with a full CSS styled page.
Code:
<html><head>
<script type="text/javascript">
function unHide(areaName) {
var el = document.getElementById(areaName);
var ar = document.getElementsByTagName("div");
for (var i=0; i<ar.length; i++) {
if (ar[i].className == "hidden") {
ar[i].style.display = "none";
}
}
el.style.display = "block";
}
</script></head><body>
<a href="#" onclick="unHide('bill')">Bill</a>
<a href="#" onclick="unHide('mike')">Mike</a>
<a href="#" onclick="unHide('peggy')">Peggy</a>
<div class="hidden">
<h1>THIS SHOWS WHEN PAGE LOADS</h1>
</div>
<div class="hidden" id="bill" style="display:none;">
<h1>ThIS IS BILLS INFO</h1>
</div>
<div class="hidden" id="mike" style="display:none;">
<h1>THIS IS MIKES INFO</h1>
</div>
</body>
</html>