我在codeigniter中做一个联系人管理站点,我有一个基于id删除联系人的功能。
例如,该页面将列出所有联系人。每个联系人附近都会有一个删除链接。该链接将指向传递 id 的函数,例如:
www.site.com/index.php/action/delete/23
所以我想要一个确认框来询问用户,每个链接是或否。因此,如果用户按是,它将被删除,否则不会发生任何事情。希望我很清楚。
我在codeigniter中做一个联系人管理站点,我有一个基于id删除联系人的功能。
例如,该页面将列出所有联系人。每个联系人附近都会有一个删除链接。该链接将指向传递 id 的函数,例如:
www.site.com/index.php/action/delete/23
所以我想要一个确认框来询问用户,每个链接是或否。因此,如果用户按是,它将被删除,否则不会发生任何事情。希望我很清楚。
你需要一个 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。
您可以有一个带有表单的确认页面,以发回相同的 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。