0
点赞
收藏
分享

微信扫一扫

评论模拟实现

寒羽鹿 2022-03-23 阅读 42
前端

评论模拟实现

效果展示:
在这里插入图片描述代码实现:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="000/bootstrap/bootstrap-3.4.1-dist/css/bootstrap.min.css">
    <script src="000/bootstrap/bootstrap-3.4.1-dist/js/jquery-1.10.2.min.js"></script>
    <script src="000/bootstrap/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            padding: 20px;
        }

        #datebox {
            background-color: rgb(7, 163, 163);
        }

        #namebox {
            background-color: bisque;
        }
    </style>

</head>

<body>
    <div class="panel panel-primary">
        <div class="panel-heading">
            <h3 class="panel-title">发表评论</h3>
        </div>
        <!-- 表单数据 -->
        <form class="panel-body" id="formbox">
            <div>评论人:</div>
            <input type="text" class="form-control" name="username">
            <div>评论内容:</div>
            <textarea class="form-control" name="content"></textarea>
            <!-- 发表评论 -->
            <button type="submit" class="btn btn-primary">发表评论</button>
        </form>
    </div>
    <!-- 评论区 -->
    <ul class="list-group" id="conbox">
        <li class="list-group-item">
            <span class="badge" id="datebox">评论时间:</span><span class="badge" id="namebox">评论人:</span><span
                id="contentbox">评论内容</span>
        </li>
    </ul>
    <script>
        // 拿到cmtlist函数
        function getcmtlist() {
            $.get('http://www.liulongbin.top:3006/api/cmtlist', function (res) {
                if (res.status != 200) {
                    return alert('数据展示失败');
                }
                //将拿到数据渲染到ui界面
                var arr = [];
                $.each(res.data, function (i, item) {
                    arr.push('<li class="list-group-item"><span class="badge" id="datebox">评论时间:' +
                        item.time + '</span><span class="badge" id="namebox">评论人:' +
                        item.username + '</span><span id="contentbox">' + item.content + '</span></li>');
                });
                $("#conbox").empty().append(arr.join(''));
            });
        }

        $(function () {
            //评论展示
            getcmtlist();
            //发表评论
            $("#formbox").submit(function (res) {
                //阻止默认提交
                res.preventDefault();
                var data = $(this).serialize();
                //发送post请求
                $.post('http://www.liulongbin.top:3006/api/addcmt', data, function (res) {
                    if(res.status != 201) return alert("评论失败");
                    //添加成功后将input框置为空
                    $("#formbox")[0].reset();//注意这里是将一个$对象转化一个原生的dom对象
                });
                getcmtlist();
            });
            //删除评论
            $.get('http://www.liulongbin.top:3006/api/delcmts',function (params) {
                console.log("123");
            });
        })
    </script>
</body>

</html>

注意事项:
1,关于使用ajax进行数据提交,注意,要阻止表单的默认提交。

//阻止默认提交
res.preventDefault();

2,serialize()函数的使用。
serialize()函数可以将表单数据转化为如下的表示方法:

var data = $(this).serialize();
console.log(data);

展示显示:
在这里插入图片描述

在这里插入图片描述
3,关于reset()函数的使用
reset()函数是dom里面的函数,因此想要使用reset()函数,就必须将其它类型的转化为dom。

举报

相关推荐

0 条评论