在删除数据库中的行之前显示确认对话框

时间:2017-03-01 19:30:30

标签: php jquery ajax

请问如何显示确认删除对话框按钮。因此,如果用户点击是,它将继续删除,否则它将不会删除该条目。

这是我的代码工作正常,但我不知道如何让它弹出“你确定要删除对话框”

The HTML button

 <a class='btn btn-danger delete_data' id="<?php echo $matched1; ?>">Blast</a>

 <script type="text/javascript">
        $(document).ready(function(){
            $(".delete_data").click(function(){
                var del_id = $(this).attr('id');
                $.ajax({
                    type: 'POST',
                    url: 'delete.php',
                    data: 'delete_id='+del_id,
                    success: function(data){
                        if(!data){
                            window.location.replace("memberpage.php");
                        }
                        else{
                            alert('failed');
                        }
                    }
                });
            });
        });
    </script>

delete.php

$username = $_POST['delete_id'];
    $stmt = $db->prepare("DELETE FROM users WHERE username='".$username."'");
    $stmt->execute();

谢谢你帮帮我

2 个答案:

答案 0 :(得分:1)

您可以使用下面的confirm(): -

$(".delete_data").click(function(){
    var choice = confirm('Do you really want to delete this record?');
        if(choice === true) {
            var del_id = $(this).attr('id');
            $.ajax({
                type: 'POST',
                url: 'delete.php',
                data: 'delete_id='+del_id,
                success: function(data){
                    if(!data){
                        window.location.replace("memberpage.php");
                    }
                    else{
                        alert('failed');
                    }
                }
            });
        }else{
            return false;
        }
});

参考: - https://www.w3schools.com/js/js_popup.asp

答案 1 :(得分:1)

您可以使用Javascript confirm。我已经更改了您的代码以显示它是如何:

<a class='btn btn-danger delete_data' id="<?php echo $matched1; ?>">Blast</a>

     <script type="text/javascript">
        $(document).ready(function(){
            $(".delete_data").click(function(){
                var del_id = $(this).attr('id');
                if (confirm("Do you really want to remove ?")) {
                    $.ajax({
                        type: 'POST',
                        url: 'delete.php',
                        data: 'delete_id='+del_id,
                        success: function(data){
                            if(!data){
                                window.location.replace("memberpage.php");
                            }
                            else{
                                alert('failed');
                            }
                        }
                    });
                }
            });
        });
    </script>

通过这种方式,您可以询问用户是否要删除数据。如果用户确认操作,则Javascript确认返回true。如果他点击取消,则不会执行任何操作。

如果您不喜欢默认的浏览器界面,则可以选择jQuery UI,或者如果您使用的是Bootstrap,则可以使用Bootbox,这是用户友好的并且易于使用。