学习用JavaScript对数据进行CRUD操作

学习用JavaScript对数据进行CRUD操作

一、什么是 CRUD

CRUD就是我们常说的对数据的 增,查,改,删 操作

  • C: Create
  • R: Read
  • U: Update
  • D: Delete

二、 CRUD 程序的基本逻辑

三、留言板小程序-01

页面内有效,关闭或刷新页面后数据会消失

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>留言板</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css">
</head>
<body>
<div>
<h1>留言板</h1>
<label for="postInput">添加一个留言 </label>
<input type="text" id="postInput" value="" />
<button id="insertBtn" onclick="insertPost()">提交</button>
<span id="msgSpan" style="color:red;"></span>
</div>
<hr>
<div>
<ul id="postUl">
</ul>
</div>
</body>
<script type="text/javascript">
let postInput = document.getElementById("postInput")
let postUl = document.getElementById("postUl")
let msgSpan = document.getElementById("msgSpan")
let postId = 0;

//提交留言
let insertPost = () => {
if (postInput.value === "") {
msgSpan.innerText = "留言不能为空"
return false
}
postId++
postUl.innerHTML += `
<li id=${postId} >${postInput.value}
<i class="fa-solid fa-edit" title="修改" onclick=editPost(${postId})></i>
<i class="fa-solid fa-trash-can" title="删除" onclick=delPost(${postId})></i>
</li>
`
postInput.value = ""
msgSpan.innerText = ""
}

//修改留言
let editPost = (id) => {
let postLi = document.getElementById(id)
postInput.value = postLi.innerText.trim()
postLi.remove()
}

//删除留言
let delPost = (id) => {
let postLi = document.getElementById(id)
postLi.remove()
}

</script>
</html>

四、留言板小程序-02

将数据保存在浏览器数据库(LocalStorage)中,关闭或刷新页面后数据不会消失

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>留言板(localstorage)</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css">
</head>
<body>
<div>
<h1>留言板(localstorage)</h1>
<label for="postInput">添加一个留言 </label>
<input type="text" id="postInput" value="" />
<button id="insertBtn" onclick="insertPost()">提交</button>
<span id="msgSpan" style="color:red;"></span>
</div>
<hr>
<div>
<ul id="postUl">
</ul>
</div>
</body>
<script type="text/javascript">

let postInput = document.getElementById("postInput")
let postUl = document.getElementById("postUl")
let msgSpan = document.getElementById("msgSpan")
let postArray = []

//提交留言
let insertPost = () => {
if (postInput.value === "") {
msgSpan.innerText = "留言不能为空"
return false
}

let postId = Math.random().toString(36).substring(7)

postArray.push({
"post_id": postId,
"post_val": postInput.value
})

localStorage.setItem("posts", JSON.stringify(postArray))

postInput.value = ""
msgSpan.innerText = ""

showPosts()
}

//修改留言
let editPost = (id) => {
postArray.forEach((post) => {
if (post.post_id === id) {
postInput.value = post.post_val
}
})
delPost(id)
}

//删除留言
let delPost = (id) => {
postArray = postArray.filter((post) => {
return post.post_id != id
})
localStorage.setItem("posts", JSON.stringify(postArray))
showPosts()
}

//显示留言
let showPosts = () => {
postUl.innerHTML = ""
let posts = localStorage.getItem("posts")
if (posts != null) {
postArray = JSON.parse(posts)
postArray.forEach((post) => {
postUl.innerHTML += `
<li>${post.post_val}
<i class="fa-solid fa-edit" title="修改" onclick=editPost("${post.post_id}")></i>
<i class="fa-solid fa-trash-can" title="删除" onclick=delPost("${post.post_id}")></i>
</li>
`
})
}
}

showPosts()

</script>
</html>

浏览器中的显示结果

PS:如有任何问题,欢迎在下面评论区留言,让我们共同进步,非常感谢!(^o^)v


学习用JavaScript对数据进行CRUD操作
https://liaoliaocode.xyz/article/bada/
作者
Brian.Gao
发布于
2022年4月4日
许可协议