我在codeigniter中做了一个联系人管理网站,我有一个基于id删除联系人的功能。
例如,该页面将列出所有联系人。并且每个联系人都会在其附近显示删除链接。链接将是传递id的函数,如:
www.site.com/index.php/action/delete/23
所以我想要一个确认框询问用户,是或否每个链接。因此,如果用户按是,它将被删除,否则没有任何反应。希望我很清楚。
答案 0 :(得分:3)
你需要一个javascipt提示符:
你的JS
function confirm_delete(){
var r=confirm("Are you sure?");
if (r==true){
//Do somthing
}else{
//cancel
}
}
然后在链接中添加onclick事件。
<a href="#" onclick="confirm_delete();">Delete</a>
如果你想要一些有光泽且不那么具有侵入性的东西,我可以建议使用多个确认对话框插件中的一个进行jquery。
答案 1 :(得分:1)
您可以拥有一个包含表单的确认页面,以便回发到同一个网址。在控制器中检查表单是否已提交。如果有,请删除该联系人。如果没有,请显示确认页面。
function delete($id)
{
if ($this->input->post('confirm'))
{
$this->contact_model->delete($id);
}
else
{
$contact = $this->contact_model->get_contact($id);
$this->load->view('delete_confirm', array('contact' => $contact));
}
}
如果您不喜欢额外页面的想法,可以使用一些javascript来显示确认框并在用户确认时执行AJAX帖子。
修改:
除此之外,我要避免做的是通过HTTP GET实现删除。删除链接后的蜘蛛或机器人可能会无意中删除所有联系人。最好使用HTTP POST。