0

このコードを使用して、行の削除をトリガーします。

<a href="javascript:void(0);" onclick='$.get("web_page.php",{ cmd: "delete_stmt", id_f: "<?php echo $rrows['id_f']; ?>", id: "<?php echo $row['id']; ?>" } ,self.location="web_page.php");'>delete</a>

これがコードです:

if($get['cmd'] == 'delete_stmt') {
        $stmt = $conn_bd->prepare("DELETE FROM table WHERE id_f=:id_f and id=:id");
        $stmt->execute(array('id_f' => $get[id_f], 'id' => $get[id]));
        $stmt->execute();
    }

レコードは常にデータベーステーブルから削除されますが、Webページにレコードが表示される場合があります。これはIE、Firefox、Chromeで発生します...

何がこれを引き起こしているのか考えていますか?

thk

4

2 に答える 2

1

リンクを次のように変更します。

<a href="javascript:void(0);" onclick='deleteItem("<?php echo $row['id_f']; ?>", "<?php echo $row['id']; ?>");'>delete</a>

...そしてこの関数を追加します:

function deleteItem(row_id_f, row_id)
{
    $.get(
            "web_page.php",
            { cmd: "delete_stmt", id_f: row_id_f, id: row_id },
            function(data){

                self.location="web_page.php";

            }
        );
}

リンクは、ajax 呼び出しを行う deleteItem 関数を呼び出し、ページ リダイレクトを実行する前に成功イベントを待機します。

于 2012-11-24T15:09:42.087 に答える
0

$.get() 呼び出しの前に実行される self.location。関数を作成して、$.get() を待ちます。

jquery ajaxが使える公式ページの機能はこちら。使いやすいです。また、この独自のページをリダイレクトする場合は、「削除」を非表示にして警告ボックスをスローすることができます。

于 2012-11-24T15:22:33.180 に答える