输入留言并在下方进行展示,可以删除当前评论,评论的字数不能超过100,如果超过则仍显示当前展示内容

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>留言板 / 评论</title>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. li {
  15. list-style: none;
  16. }
  17. body {
  18. background-color: rgb(174, 236, 236);
  19. color: #555;
  20. }
  21. .comment {
  22. width: 85%;
  23. margin: 1em auto;
  24. display: grid;
  25. gap: 0.5em;
  26. }
  27. .comment #content {
  28. resize: none;
  29. border: none;
  30. padding: 0.5em;
  31. outline: none;
  32. }
  33. .comment #content:focus,
  34. .comment #content:hover {
  35. box-shadow: 0 0 8px steelblue;
  36. transition: 0.6s;
  37. }
  38. .comment .submit {
  39. width: 30%;
  40. margin-left: auto;
  41. background-color: lightseagreen;
  42. border: none;
  43. outline: none;
  44. color: white;
  45. height: 2.5em;
  46. }
  47. .comment .submit:hover {
  48. background-color: seagreen;
  49. transition: 0.6s;
  50. cursor: pointer;
  51. }
  52. .list {
  53. width: 80%;
  54. /* background-color: yellow; */
  55. margin: auto;
  56. padding: 1em;
  57. }
  58. .list li {
  59. border-bottom: 1px solid #fff;
  60. padding-bottom: 20px;
  61. margin-bottom: 20px;
  62. }
  63. .del-btn {
  64. background-color: wheat;
  65. color: #000;
  66. padding: 0.5em 1em;
  67. /* height: 2.2em; */
  68. border: none;
  69. outline: none;
  70. }
  71. .del-btn:hover {
  72. cursor: pointer;
  73. background-color: rgb(31, 230, 163);
  74. }
  75. </style>
  76. </head>
  77. <body>
  78. <form action="" class="comment" id="comment">
  79. <label for="content">请留言</label>
  80. <textarea name="content" id="content" cols="30" rows="10"></textarea>
  81. <span class="notice">还可以输入100字</span>
  82. <button class="submit" type="button" name="submit">提交</button>
  83. </form>
  84. <ul class="list"></ul>
  85. </body>
  86. </html>

js 部分

  1. <script>
  2. //获取元素
  3. // form
  4. let comment = document.forms.comment;
  5. console.log(comment);
  6. let content = comment.content;
  7. let btn = comment.submit;
  8. let commentList = document.querySelector(".list");
  9. let notice = document.querySelector(".notice");
  10. // 2给按钮添加事件
  11. btn.onclick = (ev) => {
  12. //获取留言内容
  13. //console.log(content.value.trim().length);
  14. // 长度不能超过100 而且大于0
  15. if (content.value.trim().length > 0 && content.value.trim().length <= 100) {
  16. // 创建留言内容标签然后插入到ul中
  17. let li = document.createElement("li");
  18. li.textContent = content.value;
  19. // 添加删除按钮
  20. let delbtn = document.createElement("div");
  21. delbtn.textContent = "删除";
  22. delbtn.style.float = "right";
  23. delbtn.classList.add("del-btn");
  24. delbtn.onclick = function () {
  25. if (confirm('是否删除')) {
  26. // li.remove();
  27. this.parentNode.remove();
  28. alert("留言删除成功");
  29. }
  30. }
  31. li.append(delbtn);
  32. commentList.prepend(li);
  33. } else {
  34. alert("长度超过100");
  35. //超出之后并将输入内容清空
  36. // content.value = '';
  37. content.focus();
  38. return false;
  39. }
  40. }
  41. content.oninput = function () {
  42. let textLength = content.value.trim().length;
  43. notice.textContent = `还可以输入${100 - textLength}个字`;
  44. let lastword = 100 - textLength;
  45. if (lastword <= 0) {
  46. alert("已输满100字");
  47. content.value = content.value.trim().substring(0, 100);
  48. // content.disabled = true;
  49. // console.log(content.disabled);
  50. notice.textContent = `还可以输入0个字`;
  51. content.focus();
  52. } else {
  53. }
  54. }
  55. </script>

更多相关文章

  1. ExFat文件系统文件误删除. 不知道如何找回呢?
  2. Ceph CSI 3.1发布
  3. 只因一个 Redis 误操作,程序员被开除!
  4. 输入年(包含闰年)和月份,输出天数
  5. 如何正确的删除表空间数据文件
  6. 怎么找回误删除的文件?
  7. 在Oracle中,如何定时删除归档日志文件?
  8. Linux远程执行Windows机器任务
  9. 使用Composition API在Vue3中创建防抖搜索输入框

随机推荐

  1. jQuery 1.3 API 参考文档中文版
  2. [置顶] JQuery datatables 使用Fi
  3. 随着窗口变大,div的左边距也拉大
  4. 重写ajax方法实现异步请求session过期时
  5. 使用jQuery.ajax post函数将javascript数
  6. [置顶] jquery学习之路 初识jq
  7. jQuery在元素内部检测mousedown,然后在元
  8. Jquery实现表格行的添加、删除
  9. 在Access中利用Jquery技术实现专业的界面
  10. 如何使用特定样式获取jquery中的第一个和