JS——利用JS实现简易留言板

这篇具有很好参考价值的文章主要介绍了JS——利用JS实现简易留言板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

  • 前言
  • 成果图
  • 二、使用步骤
    • 1.需求解析
    • 2.HTML结构
    • 3.CSS样式
    • 4.JS行为
  • 总结

一、成果图

JS——利用JS实现简易留言板

 

二、使用步骤

1.需求解析

实现留言板的基本功能

  • 提交留言——用户输入留言(当输入内容为空时,提示用户,且不可提交留言),输入完成后点击提交留言,留言列表中将会出现对应用户输入的内容,且留言列表第一条应该时用户最新提交的内容与当日日期
  • 统计输入字数——输入框下方也会自动统计用户输入的字数,当输入字数大于一定长度时,提示用户且不可提交留言
  • 删除留言——当用户提交留言后,每一条留言后会出现删除按钮用于删除本条留言记录

2.HTML结构

 <!-- 外部容器 -->
    <div class="wrapper">
        <!-- 内部容器 -->
        <div class="inner">
            <!-- 输入留言区域 -->
            <textarea name="student" id="student" cols="40" rows="10"></textarea>
            <!-- 统计文本域中的字数 -->
            <p id="text">已输入字数:
                <span id="text-now">0</span>/100
            </p>
            <!-- 提交留言按钮 -->
            <input type="button" id="btn" value="提交留言">
            <p>留言列表</p>
            <!-- 呈现留言区域 -->
            <ul>
            </ul>
        </div>
    </div>

3.CSS样式

 <style>
        body {
            background-color: #f4f4f4;
        }

        /* 外部容器样式设置 */
        .wrapper {
            width: 400px;
            height: 500px;
            background-image: url(../img/689334441.jpg);
            background-size: contain;
            border-radius: 15px;
            opacity: .6;
            margin: auto;
        }

        /* 内部容器样式设置 */
        .inner {
            width: 300px;
            height: 500px;
            margin: 50px auto;
        }

        /* 提交留言按钮样式设置 */
        #student {
            outline: none;
            resize: none;
            margin-top: 20px;
        }

        #btn {
            display: block;
            width: 100px;
            height: 40px;
            margin: 20px 0 20px 0;
            font-size: 17px;

            color: rgb(90, 88, 88);
            border-radius: 8px;
            outline: none;
            border: 1px solid gray;
        }


        p {
            font-size: 20px;
            font-weight: bold;
        }

        #text {
            float: right;
            margin-top: 10px;
            font-size:14px;
        }

        #text-now {
            color: #777;
        }

        /* 呈现留言区域样式设置 */
        ul {
            margin-top: 10px;
        }

        ul>li {
            width: 100%;
            height: 35px;
            line-height: 35px;
            border-bottom: 1px solid #999;
            font-size: 18px;
            font-weight:bold;
        }

        ul>li>div {
            float: right;
        }

        ul>li>div>button {
            width: 50px;
            height: 25px;
            color: #333;
            margin-left: 5px;
        }
    </style>

4.JS行为

实现过程说明:

  • 首先获取所需的HTML标签
  • 其次为提交里留言按钮绑定单击事件;首先判断文本域中的文字为空,若为空则不可提交并提示用户,否则,则新建页面元素,并为其设置文本内容,将每次用户提交的内容添加至列表第一条(使用insertBefore 即可实现),提交后文本域中的内容置空即可。
  • 最后,有关删除留言的实现——为留言的父元素绑定单击事件,通过事件的委派以及事件对象判断当前实现事件的具体对象是否为按钮,若是则使用 (removeChild)删除当前事件对象的整体的父元素,例如本例中的 lli 
    <!-- 实现留言功能的JS部分 -->
    <script>
        // 获取提交留言按钮
        var btn = document.getElementById('btn');
        // 获取留言板
        var msg = document.getElementById('student');
        // 获取呈现留言区域
        var ul = document.querySelector('ul');
        // 获取每一个li
        var li = ul.children;
        // 获取删除留言按钮
        var del = document.getElementById('del');
        // 获取统计文本域中文字的元素
        var text = document.getElementById('text-now');

        // 为提交留言按钮添加单击事件
        btn.onclick = function () {
            if (msg.value == '') {
                alert('留言不可为空哦!');
            } else {
                var li = document.createElement('li');
                var date = new Date();
                var time = date.toLocaleDateString();
                li.innerHTML = msg.value + '<div>' + '<span>' + time + '</span>' + '<button>' + '删除' + '</button>' + '</div>';
                var length = (msg.value).length;
                if (length > 100) {
                    alert('当前输入字符长度不可超过100!');
                    msg.value = '';
                } else {
                    text.innerText = length;
                    ul.insertBefore(li, ul.children[0]);
                    msg.value = '';
                }
                //   通过事件的委派实现删除功能,事件的委派也是利用到了事件的冒泡,通过给父元素绑定事件解决问题
                ul.addEventListener('click', function (event) {
                    if (event.target.nodeName == 'BUTTON') {
                        ul.removeChild(event.target.parentNode.parentNode);
                    }
                }, false);
            }
        }
    </script>

总结

以上就是今日所要和大家分享的内容啦……

最后,依旧诚挚祝福屏幕前的你健康幸福、平安喜乐!祝我也祝你文章来源地址https://www.toymoban.com/news/detail-507033.html

到了这里,关于JS——利用JS实现简易留言板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEEj进阶】 Spring实现留言板

    可以发布并显示 显示后实现输入框的清除 并且再次刷新后,不会清除下面的缓存 这里由于博主主要从事后端相关工作,这里就不做过多讲解了 相关知识点可以参考博主写的【JavaEE初阶】 JavaScript相应的WebAPI中表白墙的书写 如果有看不懂的地方也可以找博主,博主也略知一二

    2024年01月19日
    浏览(33)
  • 基于Flask的留言板的设计与实现

    这是《Flask Web开发实战:入门、进阶与原理解析》这本书中的一个小项目,我在学习后根据书中的教程实现了留言板的功能,并结合我的思路将代码做了一些调整。 下面这是实现后的展示图片 留言板得有一个表单提供昵称以及留言的输入功能,在数据库保存的数据应该包括(

    2024年02月01日
    浏览(34)
  • HTML+PHP+MYSQL实现一个简单的留言板

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 大家好,下面将为大家展示 基于HTML PHP MYSQL的留言板的设计与实现过程,适合初学者点击观看,以下我将会以笔者自称! 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:

    2024年02月04日
    浏览(36)
  • 使用Spring+SpringMVC+Mybatis实现留言板的增删改查

    目的 1)掌握使用maven来创建SSM项目 2)掌握web.xml和pom.xml的使用 3)掌握Spring、SpringMVC和Mybatis,学会整合SSM 4)掌握的controller层注解@Autowired,@RequestMapping和@RequestParam的使用 5)用学会配置SpringMVC.xml、applicationContext.xml和mybatis-config.xml等配置文件 6)掌握spring+springMVC+mybatis 对于留言板

    2024年02月04日
    浏览(79)
  • 网站留言板的功能

    开发环境:dreamweaverCC html +jscirpt + php 前置条件:1、一个简单的网站已经搭建完毕,支持用户登录网站。 2、用户已登录网站。 实现步骤: 一、新建留言板网页 1、新建网页:whiteboard.html 留言板(js-div-whiteboard)分为三个部分: 留言列表:(js-div-whiteboard-messages)、无留言提示

    2024年02月07日
    浏览(34)
  • 基于JAVA网站留言板系统的设计与实现(Springboot框架) 研究背景与意义、国内外研究现状

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(35)
  • bugku-web-留言板

     留言板?第一反应就是XSS 或者跨站脚本攻击  确定为XSS   (说点什么)“说”了就会记录下来    简单测试下  利用工具跑一下这个网页  (dirsearch) 得到了登录页  admin.php  需要用户名和口令   在我们跑出的另一个文件里  db.sql  (db.sql建议多pao几次  还可进行burp s

    2024年02月12日
    浏览(28)
  • BUGKU-WEB 留言板1

    题目截图如下: 进入场景看看: 之间写过一题类似的,所以这题应该是有什么不同的 那就按照之前的思路进行测试试试 提示说:需要xss平台接收flag,这个和之前说的提示一样 xss平台:https://xssaq.com 对xss的一些绕过进行学习了解 输入测试一下script代码: 发现script被过滤了

    2024年02月21日
    浏览(29)
  • Flask狼书笔记 | 07_留言板

    这是一个简单的程序,涉及到的大部分是之前所学习到的基础知识。新涉及的python包: BootStrap-Flask , Flask-Moment , Faker , Flask-Debug Toolbar 。 Git : 将大量代码放到 app.py 一个文件里,代码的管理会不太方便,可读性也差。本节将使用一种新的代码结构 导入配置 :可以从pyt

    2024年02月09日
    浏览(30)
  • JavaScript Array对象(属性、方法) 留言板案例

    一、创建数组对象的方式 var arrOb=new Array(值,........) var arrOb=Array(值,.......) var arrOb= [ 值,.........] var arrOb=new Array(n); arrOb [ 0]=值1; arrOb [ 1]=值2; 二、数组的属性 length      //数组中元素的数目 三、数组的方法 1、转为字符串 2、 join(\\\'连接符\\\')         将数组元素连接成字符串   

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包