1

ここで少し助けが必要です。JavaScriptを使用してデータベースから行を削除したいだけです。しかし、いくつかの問題に直面しています。

これが私の見解です:

<?php echo anchor("#","Delete",array('class'=>'selectedpagination', 'onclick'=>'confirmDelete("admin/editpage/","'.$file->page_id.'");'))?>

そしてJavascriptはここにあります

function confirmDelete(controller,id)
{
    if(confirm("Are you sure you want to delete this record"))
    {
        <!--location.href="main.php?page="+page+"&tblname="+tblname+"&fldname="+fldname+"&id="+id+"&action=delete";-->
        window.redirect("http://localhost/sama/index.php/admin/"+controller+"/"+id);
    }

それを機能させる方法は?? 動いていない。

必死に助けを必要としている人や誰かにお願いします。前もって感謝します。

4

1 に答える 1

0

次のように、jQuery の省略形の AJAX 関数$.post()を使用して、必要なページにデータを投稿することを検討してください。

function confirmDelete(controller, id){

    if(confirm("Are you sure you want to delete this record")){

        var data = "page="+page+"&tblname="+tblname+
                   "&fldname="+fldname+"&id="+id+"&action=delete";

        $.post(controller, data)
            .done(function(data) {
                // redirect or further logic here
        });

    }

}

サーバー側では、投稿された各変数を次のように受け取ります。

$action = $this->input->post('action');


上記の解決策に加えて、これに対するアプローチを再考することをお勧めします。JavaScript を介してコントローラにデータを送信し、プロセス全体で JavaScript を使用してブラウザを別のページにリダイレクトします。コントローラーを呼び出して、必要な変数をセッション Cookie または URL を介して渡し、すべてがサーバー側で完了したら、codeigniter のredirect()ヘルパー関数を使用してブラウザーを目的の場所にリダイレクトする方が簡単な場合があります。非同期アプリケーションを構築したい場合は、ここで JavaScript と AJAX を使用しても問題ありません。ただし、ajax 呼び出しとリダイレクトは、むしろ非同期呼び出しの目的を台無しにします。少しお役に立てば幸いです。

于 2013-02-14T13:17:37.733 に答える