在codeigniter中使用jquery显示确认消息
showing confirmation message using jquery in codeigniter
大家好,我是CodeIgniter的新手,我真的需要一些帮助。我试图使一个确认消息(div id="delmsg")使用jquery删除mysql记录时。但是只有删除操作有效,但是我没有看到任何消息。
Model
页面代码:
function delete_post($postID)
{
$this->db->where('post_id', $postID);
$this->db->delete('khanposts');
}
Controller
页代码:
function deletepost($postID)
{
$this->khanpost->delete_post($postID);
redirect(base_url().'khanposts/index/');
}
View
页面代码:
<div id="main_body">
if (!isset($posts)){
echo "<p>There are currently no active posts.</p>";
}else{
echo '<table align="center">';
echo '<tr><th>Email Address</th><th>Contact No.</th><th>Actions</th></tr>';
foreach ($posts as $row){
echo '<tr><td><i>' .$row['email']. '</i></td><td><b>' .$row['contact']. '</b></td>
<td><a href="' .base_url(). 'khanposts/deletepost/' .$row['post_id']. '" id="delete"><i>Delete</i></a></td></tr>';
}
echo '</table><br><br>';
echo '<br><br><div id="delmsg"></div>';
}
</div>
<script>
$('#delete').click(function() {
$("#delmsg").css("visibility", "visible");
$('<h3>Record Deleted!</h3>').appendTo('#main_body');
});
//return false;
});
</script>
是否有任何方法,我可以使用jquery消息在编码器?我也必须加载任何jquery插件文件手动在codeigniter?任何帮助我都将感激不尽。Tnx。
您正在重定向页面,单击链接,在这种情况下,您应该显示删除确认消息,当您返回到帖子页面:
function deletepost($postID)
{
$this->khanpost->delete_post($postID);
$this->session->set_flashdata('delmsg', 'Record Deleted!'); //this sets a one time accessable flash data
redirect(base_url().'khanposts/index/');
}
现在,要在视图中显示此消息:
echo '<br><br><div id="delmsg"><h3>'.$this->session->flashdata('delmsg').'</h3></div>';
你可以通过Ajax调用来做到这一点,你不应该显示删除的消息,直到你从请求中获得成功返回,你需要使用jQuery库来做到这一点,Codeigniter本身不提供这个,所以你必须像这样在视图文件中导入jQuery:
<script src="//code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
要进行Ajax调用,添加一个data属性,它将保存该项目的id并删除href属性,因为这将使您的页面转到该页面,如果你不阻止它,id标签必须是唯一的,所以将其更改为class:
foreach ($posts as $row){
echo '<tr><td><i>' .$row['email']. '</i></td><td><b>' .$row['contact']. '</b></td>
<td><a data-id="' .$row['post_id']. '" href="#" class="delete"><i>Delete</i></a></td></tr>';
}
然后,像这样进行Ajax调用:
$(".delete").on('click',function(){
$.ajax({
url: "<?php echo site_url('khanposts/deletepost');?>",
type: 'POST',
data: { "post_id": $(this).data("id") },
success: function() {
$("#delmsg").css("visibility", "visible");
$('<h3>Record Deleted!</h3>').appendTo('#main_body');
}
});
});
然后在控制器中,像这样获取post值,ajax方法和浏览页面方法都可以工作,如果我们这样配置它:
function deletepost($postID = null, $redirect = true)
{
if($postID == null){
$postID = $this->input->post('post_id');
$redirect = false;
}
$this->khanpost->delete_post($postID);
if($redirect)
redirect(base_url().'khanposts/index/');
}
相关文章:
- 事件侦听器更新就绪在加载时未显示确认,而更新实际存在
- 无法删除并显示确认框
- 使用模态弹出联系表单,是否可以在提交时在同一弹出窗口中显示确认
- 如何使用 javascript 一键显示确认警报
- 显示 确认删除 从选择框中删除框
- 未显示确认对话框
- Javascript确认框,是/否,它显示确认框,但从不等待使用点击是.它会自动提交表单
- 如何在单击 链接时显示确认对话框
- 在代码点火器中使用 AJAX 单击按钮时,成功更新后显示确认
- 在HTML输入字段中选择文件时显示确认
- 同时显示确认和重定向
- 锂:单击链接时显示确认框
- 有人能帮我在EventHandler上做错了什么吗?出于某种原因,我可以't打开显示确认框
- yii在提交按钮中显示确认消息两次
- 显示确认框时禁用按键
- SAPUI5在退出android中的应用程序之前显示确认
- 当用户尝试刷新/关闭/导航到另一个网页时,显示确认对话框
- 如何显示确认弹出从下拉菜单中选择一个选项
- 在按钮上显示确认对话框,单击使用rails 4
- 如何在倒计时计时器刷新时显示确认框