Hey
I'm sure I've seen examples somewhere before, but I can't seem to find them. I have a page which has 5 buttons. I'd like each button to load up a different form, without refreshing. I could use UpdatePanels, but it sounds overkill for this (and bandwidth-costly). I'd like to load all the forms in one go, so clicking through the buttons essentially hides/shows the relevant forms. I can't do this using the html()
method (as-is) since the forms can be quite complicated and contain ASP.NET controls which postback to the server. Instead, I've put the forms in individual divs
.
I tried doing something like this:
case "button1":
$(".current_form").show();
$("#divForm1").prependTo($('.current_form'));
break;
case "button2":
$(".current_form").show();
$("#divForm2").prependTo($('.current_form'));
break;
The problem with this is that the old form always remains there, rather than being replaced.
Is it possible to attach a div
to a given container in JQuery? Or is there another method which may be better?
Thanks for any help
full code
<script type="text/javascript">
$(document).ready(function() {
$("button").button();
$("button").click(function() {
switch ($(this).attr("value")) {
case "button1":
$('.current_form').empty().show();
$("#divForm1").clone().prependTo($('.current_form'));
break;
case "button2":
$('.current_form').empty().show();
$("#divForm2").clone().prependTo($('.current_form'));
break;
}
return false; //prevent postback
});
});
</script>
I'm testing with these divs:
<div class="current_form">
<div id="divForm1" >
This is div 1
</div>
</div>
<div class="current_form">
<div id="divForm2" >
This is div 2
</div>
</div>