簡體   English   中英

使用 jQuery AJAX 刪除記錄之前的確認警報不起作用

[英]Confirmation alert Before Delete record with jQuery AJAX not working

我的問題是,當我在刪除確認時按是,數據庫記錄消失了,但如果我刷新頁面,它又回來了。

也許我必須將語言和 id 放在 Ajax URL 中?

如果是,我該怎么做?

請原諒我還在學習中。

在此處輸入圖片說明

這是我來自delete_table.php 的代碼

PS:網站上的刪除按鈕是這樣的,例如: delete_table.php?lang=en&id=149

       if (isset($_GET['id']) && is_numeric($_GET['id']))
      {

       $id = $_GET['id'];


      if ($stmt = $conn->prepare("DELETE FROM `articles_".LANG."` WHERE id = 
      ? LIMIT 1"))
      {
     $stmt->bind_param("i",$id);
     $stmt->execute();
     $stmt->close();
      }
      else
      {
    echo "ERROR: could not prepare SQL statement.";
      }

這是index.php 中的刪除按鈕。

<td><a class='delete' id='del_".$row->id."' href='delete_table.php?lang=".LANG."&id=" . $row->id . "'>Delete</a></td>

這是 jquery 和 ajax 所在的delete.js

$(document).ready(function() {
// Delete 
$('.delete').click(function(event) {
    var el = this;
    var id = this.id;
    var splitid = id.split("_");

    // Delete id
    var deleteid = splitid[1];

    // Confirm box
    bootbox.confirm("Are you sure want to delete this article?",
        function(result) {

            if (result) {
                // AJAX Request
                $.ajax({
                    url: 'delete_table.php',
                    type: 'POST',
                    data: { id: deleteid },
                    success: function(response) {

                        // Removing row from HTML Table
                        $(el).closest('tr').css('background', 'tomato');
                        $(el).closest('tr').fadeOut(800, function() {
                            $(this).remove();
                        });

                    }
                });
            }
            console.log('delete_table.php');
        });
    event.preventDefault();
  });
});

這就是你要找的

 function confirmDelete() { if (confirm("Delete Record?") == true) { alert("Now deleting"); return true; } else { alert("Cancelled by user"); return false; } }
 <td><a class='delete' id='del_".$row->id."' href='delete_table.php?lang=".LANG."&id=" . $row->id . "' onclick="return confirmDelete()">Delete</a></td>

Confirm 方法不接受函數作為第二個參數。 如果用戶單擊“確定”,則 confirm() 方法返回 true,否則返回 false。 因此,將此結果保存在變量中並基於該火 ajax 或什么都不做。

var result = confirm('Are you sure?');
if(result) {
    // fire ajax
}

添加 if(response ==1) 然后從 HTML 中刪除行

                    // Removing row from HTML Table

                    $(el).closest('tr').css('background', 'tomato');
                    $(el).closest('tr').fadeOut(800, function() {
                        $(this).remove();
                    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM