表单提交后用JS或PHP重新加载当前页面/URI
免责声明:我是网络开发新手 我正在使用CodeIgniter创建一个事件日历,当我更新一个事件(使用js)时,我需要重新加载我当时所在的当前页面。到目前为止,我所能做的就是重定向到包含calendar类的主控制器,它将我带回当月。对于在当前月份以外的其他月份编辑一个事件的人来说,这太糟糕了。关于使用/做什么有什么想法吗?非常感谢你的帮助 控制器:表单提交后用JS或PHP重新加载当前页面/URI,php,javascript,jquery,codeigniter,Php,Javascript,Jquery,Codeigniter,免责声明:我是网络开发新手 我正在使用CodeIgniter创建一个事件日历,当我更新一个事件(使用js)时,我需要重新加载我当时所在的当前页面。到目前为止,我所能做的就是重定向到包含calendar类的主控制器,它将我带回当月。对于在当前月份以外的其他月份编辑一个事件的人来说,这太糟糕了。关于使用/做什么有什么想法吗?非常感谢你的帮助 控制器: if ($this->events->update($data)) { redir
if ($this->events->update($data))
{
redirect('user/planner');
}
else
{
show_404();
}
视图/表格:
<div class="reveal-modal" id="myModal">
<?php echo form_open('user/planner/update/'.$event->id, 'id="updateForm"'); ?>
<h3><?php echo $event->type ?></h3>
<h4><label for="status">Status</label></h4>
<p><?php echo form_dropdown('status', $status_options, $event->status ) ?></p>
<h4><label for="title">Title</label></h4>
<p><input type="text" id="title" name="title" value="<?php echo $event->title ?>" /></p>
<h4><label for="content">Content</label></h4>
<p><textarea rows="7" id="content" name="content"><?php echo $event->content ?></textarea></p>
<p><?php echo form_submit('submit','Save') ?></p>
<?php echo form_close(); ?>
</div>
试一试
而不是返回 试试看
而不是返回 您应该像Jan所说的那样重新加载document.location(
document.location.reload()
),但只有在请求成功时才应该这样做,因此您的代码如下所示:
$.post(url, data, function(response) {
document.location.reload();
});
jQuery手册
jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])
url
-包含请求发送到的url的字符串数据
-随请求发送到服务器的映射或字符串success(data,textStatus,jqXHR)
-请求成功时执行的回调函数数据类型
-期望从服务器获得的数据类型。默认值:智能猜测(xml、json、脚本或html)您应该像Jan所说的那样重新加载document.location(
document.location.reload()
),但只有在请求成功时才应该这样做,因此您的代码如下所示:
$.post(url, data, function(response) {
document.location.reload();
});
jQuery手册
jQuery.post(url[,data][,success(data,textStatus,jqXHR)][,dataType])
url
-包含请求发送到的url的字符串数据
-随请求发送到服务器的映射或字符串success(data,textStatus,jqXHR)
-请求成功时执行的回调函数数据类型
-期望从服务器获得的数据类型。默认值:智能猜测(xml、json、脚本或html)这就是我最后所做的,它非常有效<代码>位置。重新加载();返回falselocation.reload()重新加载当前页面并
返回false代码>避免了来自控制器的重定向。非常感谢你的帮助!这就是我最后所做的,它非常有效<代码>位置。重新加载();返回false
location.reload()重新加载当前页面并返回false代码>避免了来自控制器的重定向。非常感谢你的帮助!这实际上更接近于最终所需的正确答案(我将在应该得到赞扬的地方给予赞扬)。谢谢!这实际上更接近于最终所需的正确答案(我将在应该得到赞扬的地方给予赞扬)。谢谢!
$.post(url, data, function(response) {
document.location.reload();
});