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 に答える