如何用js写确认删除的弹出框

如何用js写确认删除的弹出框

如何用JS写确认删除的弹出框

使用JavaScript编写确认删除的弹出框是一个常见的任务,通常用于在用户执行删除操作前提供确认。通过使用原生JavaScript的confirm()方法、利用第三方库如SweetAlert、结合HTML和CSS自定义弹出框,可以实现这一功能。本文将详细介绍上述方法,并着重讲解如何结合实际项目中的需求进行实现。

一、原生JavaScript的confirm()方法

1、基础用法

原生JavaScript提供了一个简单的confirm()方法,可以直接弹出一个确认对话框。用户点击“确定”或“取消”按钮,返回一个布尔值,分别为truefalse。以下是一个简单的实现示例:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Confirm Delete</title>

<script>

function confirmDelete() {

var result = confirm("Are you sure you want to delete this item?");

if (result) {

// Perform deletion operation

alert("Item deleted!");

} else {

// Cancel deletion

alert("Deletion canceled!");

}

}

</script>

</head>

<body>

<button onclick="confirmDelete()">Delete Item</button>

</body>

</html>

2、详细描述

优点: 使用简单,兼容性好,适用于所有现代浏览器。

缺点: 界面样式固定,无法自定义外观和行为。

二、使用第三方库SweetAlert

1、引入SweetAlert

SweetAlert是一个美观且功能强大的JavaScript库,用于替代原生的alertconfirm等对话框。首先需要引入SweetAlert库:

<head>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css">

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

</head>

2、实现确认删除弹出框

下面是使用SweetAlert实现确认删除弹出框的示例:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Confirm Delete</title>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css">

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

<script>

function confirmDelete() {

Swal.fire({

title: 'Are you sure?',

text: "You won't be able to revert this!",

icon: 'warning',

showCancelButton: true,

confirmButtonColor: '#3085d6',

cancelButtonColor: '#d33',

confirmButtonText: 'Yes, delete it!'

}).then((result) => {

if (result.isConfirmed) {

// Perform deletion operation

Swal.fire(

'Deleted!',

'Your file has been deleted.',

'success'

);

}

});

}

</script>

</head>

<body>

<button onclick="confirmDelete()">Delete Item</button>

</body>

</html>

3、详细描述

优点: 界面美观、功能丰富、可以自定义样式和行为。

缺点: 需要引入额外的库,文件体积较大。

三、结合HTML和CSS自定义弹出框

1、创建HTML结构

为了实现高度自定义的确认删除弹出框,可以结合HTML和CSS创建一个模态框:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Custom Confirm Delete</title>

<style>

.modal {

display: none;

position: fixed;

z-index: 1;

left: 0;

top: 0;

width: 100%;

height: 100%;

overflow: auto;

background-color: rgb(0,0,0);

background-color: rgba(0,0,0,0.4);

padding-top: 60px;

}

.modal-content {

background-color: #fefefe;

margin: 5% auto;

padding: 20px;

border: 1px solid #888;

width: 80%;

}

.close {

color: #aaa;

float: right;

font-size: 28px;

font-weight: bold;

}

.close:hover,

.close:focus {

color: black;

text-decoration: none;

cursor: pointer;

}

</style>

</head>

<body>

<h2>Custom Confirm Delete Modal</h2>

<button id="deleteBtn">Delete Item</button>

<div id="myModal" class="modal">

<div class="modal-content">

<span class="close">&times;</span>

<p>Are you sure you want to delete this item?</p>

<button id="confirmBtn">Yes</button>

<button id="cancelBtn">No</button>

</div>

</div>

<script>

var modal = document.getElementById("myModal");

var btn = document.getElementById("deleteBtn");

var span = document.getElementsByClassName("close")[0];

var confirmBtn = document.getElementById("confirmBtn");

var cancelBtn = document.getElementById("cancelBtn");

btn.onclick = function() {

modal.style.display = "block";

}

span.onclick = function() {

modal.style.display = "none";

}

cancelBtn.onclick = function() {

modal.style.display = "none";

}

confirmBtn.onclick = function() {

modal.style.display = "none";

alert("Item deleted!");

}

window.onclick = function(event) {

if (event.target == modal) {

modal.style.display = "none";

}

}

</script>

</body>

</html>

2、详细描述

优点: 完全自定义样式和行为,满足特定需求。

缺点: 实现较为复杂,需要编写大量的HTML、CSS和JavaScript代码。

四、结合项目管理系统

在实际项目中,可能需要结合项目管理系统来实现删除操作的确认。此时,推荐使用研发项目管理系统PingCode和通用项目协作软件Worktile来进行集成。

1、PingCode集成示例

function deleteItem(itemId) {

PingCode.deleteItem(itemId).then(response => {

if (response.success) {

Swal.fire('Deleted!', 'Your item has been deleted.', 'success');

} else {

Swal.fire('Error!', 'There was an error deleting your item.', 'error');

}

});

}

2、Worktile集成示例

function deleteItem(itemId) {

Worktile.deleteItem(itemId).then(response => {

if (response.success) {

Swal.fire('Deleted!', 'Your item has been deleted.', 'success');

} else {

Swal.fire('Error!', 'There was an error deleting your item.', 'error');

}

});

}

3、详细描述

优点: 与项目管理系统无缝集成,提高删除操作的可靠性和安全性。

缺点: 需要依赖项目管理系统的API,可能需要额外的配置和开发工作。

总结:使用JavaScript编写确认删除的弹出框有多种方法,包括原生JavaScript的confirm()方法、使用SweetAlert库以及自定义HTML和CSS弹出框。选择哪种方法取决于具体需求和项目环境。对于需要高度自定义和美观界面的项目,推荐使用SweetAlert;而对于简单快速实现的需求,原生JavaScript的confirm()方法则是一个不错的选择。无论选择哪种方法,都可以通过结合项目管理系统PingCode和Worktile来提高删除操作的可靠性和安全性。

相关问答FAQs:

FAQs: 如何用JS写确认删除的弹出框

1. 如何通过JS实现一个确认删除的弹出框?

通过使用JavaScript的confirm函数可以实现确认删除的弹出框。当用户点击删除按钮时,可以调用confirm函数来显示一个确认对话框,询问用户是否确定要删除。根据用户的选择,可以执行相应的操作。

2. 如何自定义确认删除的弹出框的提示信息?

可以在调用confirm函数时,传入一个字符串作为参数,用于自定义确认删除的弹出框的提示信息。例如:confirm("确定要删除吗?")

3. 如何处理用户点击确认和取消按钮的不同操作?

当用户点击确认按钮时,confirm函数会返回true;当用户点击取消按钮时,confirm函数会返回false。可以根据返回值来执行相应的操作。例如:

if(confirm("确定要删除吗?")){
    // 用户点击了确认按钮,执行删除操作
    deleteItem();
} else {
    // 用户点击了取消按钮,不执行任何操作
}

文章包含AI辅助创作,作者:Edit2,如若转载,请注明出处:https://docs.pingcode.com/baike/2387011

(0)
Edit2Edit2
免费注册
电话联系

4008001024

微信咨询
微信咨询
返回顶部