javascript - 在删除表的一行之前显示确认框

标签 javascript php jquery

我有一个表,其 View 是这样的

ID  NAME  LOCATION  DELETE
1   sam   US        delete

我有一个从表中删除给定行的语句

echo "<td><a href=\"delete_members.php?id=".$row['id']."\">Delete</a></td>";

它重定向到delete_members.php页面并且该行被删除,但是我希望显示一个警报框,以确保用户是否想要删除该行。为此我有一个代码

<button onclick="myFunction()">Delete</button>

<script>
function myFunction() {
    var x;
    if (confirm("Press a button!") == true) {
        window.location="yourphppage.php"; // not sure which link should be placed here
        return true;
    } else {
        window.location="index.php";
        return true;
    }
    document.getElementById("demo").innerHTML = x;
}
</script>

delete_members.php 页面的代码

<?php
include('admin_session.php');
$con=mysqli_connect("abc.com","abc","abc","abc");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$id = $_GET['id']; 

mysqli_query($con,"DELETE FROM members WHERE id='".$id."'");
mysqli_close($con);
header("Location: admin_member_list.php");
?> 

但是,我无法以正确的方式将确认脚本与该语句一起使用。我希望在单击上面给出的第一个语句上的编辑按钮后弹出警报框(即脚本运行),然后如果用户确认应运行delete_members.php脚本。如果有人可以指导我,我将不胜感激

最佳答案

以最简单的方式:

echo "<a onclick=\"return confirm('Delete this record?')\" href=\"delete_members.php?id=".$row['id']."\">delete</a>";

您还可以通过向链接添加一个类并使用 jQuery 之类的方法一次性选择所有链接,然后将确认逻辑绑定(bind)到 onclick 事件,以一种不显眼的方式完成此操作。像这样的事情:

$('a.delete').on('click', function() {
    var choice = confirm('Do you really want to delete this record?');
    if(choice === true) {
        return true;
    }
    return false;
});

关于javascript - 在删除表的一行之前显示确认框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26254910/

相关文章:

javascript - 在 openerp 版本 7 POS 前端 View 中添加客户搜索

javascript - Flotr2 - 安全销毁图形元素以及与该元素绑定(bind)的所有事件

php - MySQL 子字符串返回整数

javascript - 在php中提交表单后如何取消选中复选框?

php - HTML 按钮未加载定义的参数

jquery - 将鼠标悬停在文本链接上以更改图像

javascript - jQuery有collect方法吗

javascript - 如何在 _layout.cshtml View 中使用 javascript

通过动态 &lt;script&gt; 标签注入(inject) JavaScript 依赖项

javascript - 将 jQuery 延迟 Promise 转换为原生 JavaScript Promise