0

我在codeigniter中做一个联系人管理站点,我有一个基于id删除联系人的功能。

例如,该页面将列出所有联系人。每个联系人附近都会有一个删除链接。该链接将指向传递 id 的函数,例如:

www.site.com/index.php/action/delete/23

所以我想要一个确认框来询问用户,每个链接是或否。因此,如果用户按是,它将被删除,否则不会发生任何事情。希望我很清楚。

4

2 回答 2

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。

http://projectshadowlight.org/jquery-easy-confirm-dialog/

http://kailashnadh.name/code/jqdialog/

于 2010-07-07T20:51:09.820 回答
1

您可以有一个带有表单的确认页面,以发回相同的 URL。在控制器中检查表单是否已提交。如果有,请删除该联系人。如果没有,则显示确认页面。

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。

于 2010-07-07T20:47:13.253 回答