2010-07-07 100 views
0

我正在聯繫管理網站codeigniter,我有一個功能,刪除基於id的聯繫人。處理前確認操作!

例如,該頁面將列出所有聯繫人。每個聯繫人都會有一條鏈接,說明它附近有刪除。該鏈接將通過傳遞ID的功能,如:

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

所以我想要一個確認框詢問用戶,是或否爲每個鏈接。因此,如果用戶按是,它將被刪除,否則什麼也沒有發生。希望我清楚。

+0

我不明白的問題,我不認爲我是獨自一人。 – MJB 2010-07-07 19:41:12

+0

我們不會爲您編寫代碼,只能糾正您已寫入的錯誤代碼。提示:您應該使用AJAX。 – bschaeffer 2010-07-07 20:33:41

回答

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。