在你前面的问题,你的标签看,我以为你是不是太了解AJAX的。
您需要
1.post异步形式(不重新加载页面,使用AJAX)。
2.成功发送数据后,执行dom操作。
我建议使用jQuery做AJAX文章。
这里是一个示例代码,使用jQuery: -
$('#guest_details').load('?p=guest_details.html');
$('#first_start').load('?p=first_start.html')
function ajaxPostForm()
{
$.post('guest_details.php',
function(data) {
//Dom manipulation
$('#guest_details').hide('slow');
$('#first_start').SlideUp('slow')
});
}
而且里面guest_details.html
需要你的HTML表单是这样的: -
<form method="POST" id="guest">
<!-- Some cell here -->
<a onclick="ajaxPostForm();" class="button" id="first_start"> <span> <?php echo $button_submit;?> </span> </a>
</Form>
上面给出的$。员额是一个非常基本的AJAX帖子。您可以在Jquery Post中添加更多功能。
此外,如果你要发布整个表格,你可以参考jQuery Form Plugin
更新
我想我明白你的问题好这段时间。您的更新里,你说这个 -
默认guest_details.html是 显示和first_start.html藏匿
指的是部分为guest_details
和first_start
会更有意义,因为guest_details.html
可能意味着您可能已在另一个窗口中打开的页面guest_details.html
。
无论如何,我相信你的意思是页面process.html
内部的部分,因为你已经使用jquery。我们称first_start.html
和guest_details.html
分别为first_start
和guest_details
。
根据你更新你的意思如下: -
科guest_details
显示和first_start
隐藏
案例/情境初始状态
当内部guest_details
部分形式是提交,然后隐藏部分guest_details
并显示first_start
部分。
在此状态下,当隐藏guest_details
并显示first_start
时,可点击first_start
上的按钮,然后再次点击guest_details
部分。
在这些状态下,一个部分被隐藏,另一个显示重新加载/刷新页面应该保持状态。
如果上面是完整的场景,这里是代码: -
<script>
<! -
initiateSections(<?php echo $this->session->data['display_state']; ?>);
//state can have "display_first_start" or "display_guest_details"
function initiateSections(state)
{
$('#guest_details').load('?p=guest_details.html');
$('#first_start').load('?p=first_start.html')
if(state == "display_first_start")
{
displayFirstStart();
}
else
{//If chosen or by default
displayGuestDetails();
}
}
function ajaxPostGuestDetails()
{
$.post('guest_details.php', //In this post request - set $this->session->data['display_state'] = 'display_first_start'; in php
function(data)
{
//Dom manipulation
displayFirstStart();
});
}
function ajaxPostFirstStart()
{
$.post('first_start.php', //In this post request - set $this->session->data['display_state'] = 'display_guest_details';
function(data)
{
//Dom manipulation
displayGuestDetails();
});
}
function displayGuestDetails()
{
$('#first_start').hide('slow');
$('#guest_details').slideUp('slow');
}
function displayFirstStart()
{
$('#guest_details').hide('slow');
$('#first_start').slideUp('slow');
}
->
</Script>
你甚至张贴使用AJAX的形式? – 2010-11-25 18:53:58
btw:`.SlideUp('slow')`应该是`.slideUp('slow')` – 2010-11-25 18:59:10
你的html失败了,窗体标签中的一个表单:P。验证你的代码一段时间。 – 2010-11-25 18:59:54