我使用此代码触发行删除:
<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();
}
记录始终从数据库表中删除,但有时记录会显示在网页上。 这种情况发生在IE,Firefox,Chrome ......
你知道可能导致这种情况的原因吗?
THK
答案 0 :(得分: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函数,然后在执行页面重定向之前等待成功事件。
答案 1 :(得分:0)
在$ .get()调用之前执行的self.location。尝试创建一个函数并等待$ .get()。
您可以使用jquery ajax Here is a official page函数。它很容易使用。此外,如果您重定向此页面,可以尝试隐藏“删除”并抛出警告框。