我正在聯繫管理網站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與確認對話框插件的倍數之一。
您可以通過表單將確認頁發送回相同的網址。在控制器中檢查表單是否已被提交。如果有,請刪除聯繫人。如果沒有,則顯示確認頁面。
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。
我不明白的問題,我不認爲我是獨自一人。 – MJB 2010-07-07 19:41:12
我們不會爲您編寫代碼,只能糾正您已寫入的錯誤代碼。提示:您應該使用AJAX。 – bschaeffer 2010-07-07 20:33:41