sweetalert插件的使用
sweetalert是一个漂亮的弹窗插件,使用它可以完成各种炫酷的弹窗效果
链接:sweetalert
实例
删除演示
urls.py
from django.contrib import admin
from django.urls import path
from app1 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', views.index),
]
views.py
```python
def index(request):
return render(request, 'index.html')
<br>
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>个人主页</title>
<script src="/static/js/jquery.js"></script>
<script src="/static/js/sweetalert-dev.js"></script>
<link rel="stylesheet" href="/static/css/sweetalert.css">
</head>
<body>
<button class="btn">点我删除</button>
<script>
$('.btn').on('click', function () {
swal({
//提示的标题
title: '确定删除吗?',
//提示的文本
text: '你将无法恢复该文件',
//类型:警告,还有success,error和info
type: 'warning',
//显示取消按钮
showCancelButton: true,
//确认按钮颜色
confirmButtonColor: '#DD6B55',
//确认按钮内文本
confirmButtonText: '确定删除',
//取消按钮内文本
cancelButtonText: '取消删除',
closeOnConfirm: false,
closeOnCancel: false,
}, function (isConfirm) {
if (isConfirm) {
//点击确认按钮之后进行的操作,这里success不能改
swal('删除', '你的文件已经被删除', 'success');
} else {
//点击取消按钮之后进行的操作,这里error不能改
swal('取消', '你的文件是安全的', 'error');
}
})
})
</script>
</body>
</html>
显示效果
### 删除表格
修改views,增加一个delete函数
```python
def delete(request):
if request.method == 'POST':
response = {'"status': True}
return HttpResponse(json.dumps(response))
else:
return HttpResponse('非法请求')
```
修改index.html,定义一个table,模拟删除操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>个人主页</title>
<script src="/static/js/jquery.js"></script>
<script src="/static/js/sweetalert-dev.js"></script>
<link rel="stylesheet" href="/static/css/sweetalert.css">
<link rel="stylesheet" href="/static/plugins/bootstrap/css/bootstrap.css">
</head>
<body>
{#<button class="btn">点我删除</button>#}
{% csrf_token %}
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h3>数据展示</h3>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
<th>operation</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
{# line_num自定义属性,方便获取序号 #}
<td><input type="button" class="btn btn-danger" data-toggle="modal" line_num="1" value="delete"/>
</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
<td><input type="button" class="btn btn-danger" data-toggle="modal" line_num="2" value="delete"/>
</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
<td><input type="button" class="btn btn-danger" data-toggle="modal" line_num="3" value="delete"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<script>
$('.btn-danger').click(function () {
let line_num = $(this).attr('line_num');
//在ajax的回调函数的外面用一个变量记录下来,方便ajax的回调函数使用
let _this = $(this); //选择删除的那一行
let csrf = $("[name='csrfmiddlewaretoken']").val();
swal({
title: '亲,您确定删除吗?',
text: '删除可就找不回来了哦!',
//试一试不同type有何区别
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#ff0000',
confirmButtonText: '确定',
cancelButtonText: '取消',
closeOnConfirm: false,
closeOnCancel: false,
}, function (isConfirm) {
console.log(isConfirm);
if (isConfirm) {
$.ajax({
url: '/delete/',
type: 'post',
data: {
"id": line_num,
csrfmiddlewaretoken: csrf,
},
success: function (data) {
data = JSON.parse(data);
if (data.status) {
console.log(data.status);
//第一个参数是title,第二个参数是text,第三个是type
swal('删除成功!', '记录已经被删除', 'success');
//删除一行
_this.parent().parent().remove();
} else {
swal('删除失败!', '删除失败,请重试!', 'error');
//跳转首页
{#window.location.href = '/index/';#}
}
}
})
} else {
swal('取消!', '你的数据是安全的', 'error')
}
})
})
</script>
</body>
</html>
## 小结
### sweet语法
```javascript
swal({
参数1:值1,
参数2:值2,
}, function (isConfirm) {
if (isConfirm) {
swal(title, text, type);
else {
swal(title, text, type);
}
})
```
### 参数说明
- title: 提示的标题
- text: 提示的文本
- type: 类型
- showCancelButton: 是否显示取消按钮
- confirmButtonColor:确认按钮颜色
- confirmButtonText: 确认按钮文本
- cancelButtonText: 取消按钮文本
- closeOnConfirm:点击确认之后是否自动关闭
- closeOnCancel:点击取消之后是否自动关闭
sweetalert插件的使用的更多相关文章
- zTree和SweetAlert插件初探
1.zTree插件简介 zTree是一个依靠 jQuery实现的多功能“树插件”.优异的性能.灵活的配置.多种功能的组合是zTree最大优点.专门适合项目开发,尤其是树状菜单.树状数据的Web显示.权 ...
- 弹出框sweetalert插件的简单使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django(序列化、SweetAlert插件)
day72 参考:https://www.cnblogs.com/liwenzhou/p/8718861.html#autoid-6-1-2 前端序列化 后端序列化 day73中 补充一个SweetA ...
- python 全栈开发,Day75(Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件)
昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ----- ...
- {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)
Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 一 Ajax简介 ...
- sweetalert插件使用
内容: 1.插件介绍 2.插件使用 1.插件介绍 SweetAlert是一个JS插件,能够完美替代JS自带的alert弹出框,并且功能强大,设计优美 使用这个很方便,推荐使用这个插件来写alert s ...
- django系列6--Ajax06 使用插件,Sweet-Alert插件
使用SweetAlert插件 GitHub上的下载链接 下载完成后放入django项目静态目录下,在html文件中引入静态文件,下面是script部分 $(".btn-danger" ...
- 【笔记】AJAX+SweetAlert插件实现删除操作
[笔记]AJAX+SweetAlert插件实现删除操作 Django AJAX SweetAlert 展示 SweetAlert 插件介绍 SweetAlert 是一个 JS 插件,能够完美替代 J ...
- Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件
一.Django与Ajax AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻 ...
- {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)
{Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) Django基础七之 ...
随机推荐
- while(~scanf(..))为什么可以这样写
因为读到文件的结束符时,scanf返回值是EOF,也就是-1,而~(-1)的作用就是对-1的按位取反. 在计算机中,数字按补码存储,正数的补码和原码一样,负数的补码是其反码+1,反码也就是符号位仍为1 ...
- Hdoj 1233.还是畅通工程 题解
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直 ...
- 环境变量PS1,修改命令行提示符样式
推荐模板 export PS1="\[\e[37;40m\][\[\e[31;40m\]\u\[\e[0m@\[\e[33;40m\]\H \[\e[36;40m\]\w\[\e[0m\] ...
- IT项目管理——《人月神话》读后感
这也许是和候红老师的最后的几节课了吧,侯老师是一个很有思想深度,很关心同学的好老师. 一开学就布置了阅读<人月神话>的作业,说实话,我没有看,以我的速度可能2.3个小时就看完了,但是我觉得 ...
- urls 管理
问题阐述:如何管理多个app下的路由分发,使得管理更加清晰? 1. 在app下创建urls.py文件 from django.conf.urls import url from django.urls ...
- webpack入门(三)webpack的api
终于到了webpack api这一篇,我都等不及了0.0; webpack is fed a configuration object. Depending on your usage of webp ...
- Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) C D
C - Maximum Subrectangle 因为是两个数组相乘的到的 矩阵所以 a(i ->j)*b(x->y) 的面积 就是 a(i ->j) 的和乘与b(x-> ...
- 模拟@Test的功能实现
注解和注释区别 * 注释:给程序员看的.* 注解:给虚拟机看的.(让虚拟机看到程序中的注解,注解代表程序的一些特殊的功能.) JDK中提供的注解 @Override :描述子类重写父类的方法: * J ...
- MySQL -- 单行函数
大小写控制函数 SELECT LOWER('HelloWrold'), UPPER('HelloWorld'); 字符控制函数 SELECT REPLACE('abcdababab','p','m') ...
- Methods for follow-up research of exome analysis:外显子后续分析研究思路总结
外显子后续分析研究思路一般有以下几种(Methods for follow-up research of exome analysis): 1.对突变频率.突变类型.突变方式进行统计分析 Mutati ...