评论的标签如下:
~~~
{qb:comment name="xxxxx" rows='5'}
HTML代码片段
{/qb:comment}
~~~
评论涉及到的元素有
`{posturl}` 这个是代表POST评论内容到哪个网址
`{pageurl}` 这个是代表显示更多页评论的地址
基本流程, 一个是评论区的内容. 一个是提交按钮.一个是数据提交处理事件
![](https://box.kancloud.cn/04485a8b9747054111c2361a7cc0ba01_1337x848.png)
其中
~~~
<textarea name="textfield" id="comment_content"></textarea>
~~~
这个是评论区的内容. 这里的元素有一个 `id="comment_content"` 方便JS事件获取里边的内容
面下面这个就是评论按钮
~~~
<input type="button" name="Submit" value="发表留言" onclick="post_commentPc()">
~~~
这里有一个点击事件 `post_commentPc()`
他是JS处理评论事件
下面这段就是表单POST的JS处理事件
~~~
<script type="text/javascript">
var posturl = "{posturl}"; //POST数据到指定网址
var commentpage = 1; //默认显示第一页的数据
var havepost = false; //做个标志,不要重复提交数据
//POST评论内容
function post_commentPc(){
if(havepost===true){
layer.alert("请不要重复提交数据");
return ;
}
var contents = $('#comment_content').val(); //获取评论内容
if(contents==''){
layer.alert("请输入评论内容!");
}else{
havepost = true; //做个标志,不要重复提交
$.post(
posturl, //提交到指定网址
{content:contents}, //提交的评论内容
function(res,status){
if(res.code==0){ //评论成功
$('#comment_content').val(''); //清空评论区的内容
$('#show_comment').html(res.data); //把返回的新的评论数据重新显示在网页上
commentpage = 1; //恢复到第一页
layer.msg('发表成功!');
HiddenShowMoreComment(); //这里统计是否有分页,这个可删除
}else{ //评论失败
layer.alert('评论发表失败:'+res.msg);
}
havepost = false; //允许再次发表评论
}
);
}
}
</script>
~~~
发表评论这一块的完整代码如下:
~~~
<div class="PostComment">
<div class="head">我要留言</div>
<dl>
<dt>内容:</dt>
<dd>
<textarea name="textfield" id="comment_content"></textarea>
</dd>
</dl>
<div class="sub">
<input type="button" name="Submit" value="发表留言" onclick="post_commentPc()">
</div>
</div>
<script type="text/javascript">
var posturl = "{posturl}"; //POST数据到指定网址
var commentpage = 1; //默认显示第一页的数据
var havepost = false; //做个标志,不要重复提交数据
//POST评论内容
function post_commentPc(){
if(havepost===true){
layer.alert("请不要重复提交数据");
return ;
}
var contents = $('#comment_content').val(); //获取评论内容
if(contents==''){
layer.alert("请输入评论内容!");
}else{
havepost = true; //做个标志,不要重复提交
$.post(
posturl, //提交到指定网址
{content:contents}, //提交的评论内容
function(res,status){
if(res.code==0){ //评论成功
$('#comment_content').val(''); //清空评论区的内容
$('#show_comment').html(res.data); //把返回的新的评论数据重新显示在网页上
commentpage = 1; //恢复到第一页
layer.msg('发表成功!');
HiddenShowMoreComment(); //这里统计是否有分页,这个可删除
}else{ //评论失败
layer.alert('评论发表失败:'+res.msg);
}
havepost = false; //允许再次发表评论
}
);
}
}
</script>
~~~
下面这个图是显示评论内容的处理
![](https://box.kancloud.cn/740cc7360fad76232246714419728f1b_1627x832.png)
代码如下:
`id="show_comment"` 给DIV定义一个容器存放更多页的评论显示
`{volist name="listdb" id="rs"} 代码段 {/volist}` 这里是把默认第一页的评论循环显示出来
`onclick="Show_MoreComment()"` 这个是点击事件,显示更多评论
`{pageurl}` 这个是评论更多数据的调用地址
~~~
<div class="ShowComment">
<div class="head">用户留言</div>
<div id="show_comment">
{volist name="listdb" id="rs"}
<div class="ListComment">
<dl>
<dt><a href="{:get_url('user',$rs.uid)}" target="_blank"><img src="{$rs.icon}" onerror="this.src='__STATIC__/images/nobody.gif'"></a></dt>
<dd>{$rs.content}</dd>
</dl>
<div class="moreinfo">
称呼:{$rs.username} 日期:{$rs.time}
<A HREF="#">删除</A>
</div>
</div>
{/volist}
</div>
<div class="ShowMoreComment" style="text-align:center;margin:10px;"><button style="padding:8px;background:Orange;border:1px solid #fff;color:#fff;" type="butter" onclick="Show_MoreComment()">更多评论 <i class="fa fa-angle-double-down"></i></button></div>
</div>
<br>
<script type="text/javascript">
//显示更多数据
function Show_MoreComment(){
commentpage++;
$.get('{pageurl}?page='+commentpage,function(res){
if(res.code==0){
if(res.data==''){
layer.msg('显示完了!');
$('.ShowMoreComment button').hide();;
}else{
$('#show_comment').append(res.data); //更多评论数据调用成功,追加显示
}
}else{
layer.msg(res.msg,{time:2500});
}
});
}
//判断是否有更多页数据
function HiddenShowMoreComment(){
var Comments=$('#show_comment .ListComment').length;
if(parseInt(Comments/{$cfg_array.rows})<1){
$('.ShowMoreComment').hide();
}else{
$('.ShowMoreComment').show();
}
}
HiddenShowMoreComment();
</script>
~~~
评论的完整代码如下
~~~
<div class="PostComment">
<div class="head">我要留言</div>
<dl>
<dt>内容:</dt>
<dd>
<textarea name="textfield" id="comment_content"></textarea>
</dd>
</dl>
<div class="sub">
<input type="button" name="Submit" value="发表留言" onclick="post_commentPc()">
</div>
</div>
<script type="text/javascript">
var posturl = "{posturl}"; //POST数据到指定网址
var commentpage = 1; //默认显示第一页的数据
var havepost = false; //做个标志,不要重复提交数据
//POST评论内容
function post_commentPc(){
if(havepost===true){
layer.alert("请不要重复提交数据");
return ;
}
var contents = $('#comment_content').val(); //获取评论内容
if(contents==''){
layer.alert("请输入评论内容!");
}else{
havepost = true; //做个标志,不要重复提交
$.post(
posturl, //提交到指定网址
{content:contents}, //提交的评论内容
function(res,status){
if(res.code==0){ //评论成功
$('#comment_content').val(''); //清空评论区的内容
$('#show_comment').html(res.data); //把返回的新的评论数据重新显示在网页上
commentpage = 1; //恢复到第一页
layer.msg('发表成功!');
HiddenShowMoreComment(); //这里统计是否有分页,这个可删除
}else{ //评论失败
layer.alert('评论发表失败:'+res.msg);
}
havepost = false; //允许再次发表评论
}
);
}
}
</script>
<div class="ShowComment">
<div class="head">用户留言</div>
<div id="show_comment">
{volist name="listdb" id="rs"}
<div class="ListComment">
<dl>
<dt><a href="{:get_url('user',$rs.uid)}" target="_blank"><img src="{$rs.icon}" onerror="this.src='__STATIC__/images/nobody.gif'"></a></dt>
<dd>{$rs.content}</dd>
</dl>
<div class="moreinfo">
称呼:{$rs.username} 日期:{$rs.time}
<A HREF="#">删除</A>
</div>
</div>
{/volist}
</div>
<div class="ShowMoreComment" style="text-align:center;margin:10px;"><button style="padding:8px;background:Orange;border:1px solid #fff;color:#fff;" type="butter" onclick="Show_MoreComment()">更多评论 <i class="fa fa-angle-double-down"></i></button></div>
</div>
<br>
<script type="text/javascript">
//显示更多数据
function Show_MoreComment(){
commentpage++; //第几页
$.get('{pageurl}?page='+commentpage,function(res){
if(res.code==0){
if(res.data==''){
layer.msg('显示完了!');
$('.ShowMoreComment button').hide();;
}else{
$('#show_comment').append(res.data); //更多评论数据调用成功,追加显示
}
}else{
layer.msg(res.msg,{time:2500});
}
});
}
//判断是否有更多页数据 , 并不重要
function HiddenShowMoreComment(){
var Comments=$('#show_comment .ListComment').length;
if(parseInt(Comments/{$cfg_array.rows})<1){
$('.ShowMoreComment').hide();
}else{
$('.ShowMoreComment').show();
}
}
HiddenShowMoreComment();
</script>
~~~
- 序言
- 声明
- 齐博X1基础
- 齐博X1的诞生
- 齐博X1目录结构
- 如何安装齐博X1
- 新手快速入门教程
- 常用文件目录说明
- 齐博X1标签
- 什么是标签
- 当前URL标签
- 图片标签
- 单张图片标签的使用
- 多张组图的标签调用
- 标签进阶之幻灯片制作
- 背景图如何设置标签
- 内容页标签
- 内容页中下一页上一页的标签
- 内容评论标签的风格制作
- 标签实例
- 做模板组图单图无图混排的处理
- 列表页制作及无滚动加载内容
- 调用多个圈子同时调用贴子
- 调用多个圈子同时调用相关会员
- 标签的嵌套用法,调用聚合数据
- 标签如何调用论坛内容
- 标签设置取组图不存在就取内容中的图片
- 标签之无刷新显示更多
- 异步加载标签数据
- 标签动态调用数据
- 文本代码标签的使用
- where 标签动态变量查询
- where 实现条件筛选与数据关联
- 会员中心如何加标签
- 模板中常用的TP标签数据处理
- 同一个标签要更换不同模块的数据
- 万能数据统计之fun函数
- 齐博X1模块
- 什么是模块?模块的组成。
- 如何添加字段
- 栏目名称的调用
- 栏目名称调用详解
- 相关栏目名称的调用
- 辅栏目(专题)的使用说明
- 模块后期要加参数的方法
- 表单自动生成器
- 简单的模块制作说明(随风编写)
- 齐博X1插件
- 插件.七牛云.配置说明
- 齐博X1钩子
- 钩子简单制作-tag加连接解说版(随风编写)
- 齐博X1模板
- 模板目录文件说明
- 几个关键模板文件要熟知
- 新模板要注意问题
- 模板文件调用的优先级
- 2018.8.13模板制作升级调整
- block模板的分块替换
- 模板包含文件使用说明
- 圈子黄页风格制作说明
- 齐博X1配置
- 微信和小程序的配置
- 如何对接公众号
- 对接小程序设置
- 在线支付接口的使用
- 支付宝对接收款配置
- 阿里云短信配置
- 邮箱接口设置
- 邮箱接口设置之QQ普通邮箱
- 邮箱接口设置之163普通邮箱
- 邮箱接口设置之QQ企业邮箱
- QQ登录接口配置
- 齐博X1路由
- URL伪静态设置
- route.php与routemy.php短网址设置
- 齐博X1二次开发
- 二次开发的灵魂fun函数
- 商城判断是否购买过
- 如何调取当前模块ID
- 模块安装文件讲解
- 表单快速启用城市地区功能
- 自定义字段多文件多图的显示处理
- 后台网站参数配置修改与添加
- 频道插件如何对接圈子
- 自定义字段下拉菜单关联其它数据表
- 自定义字段表单默认调用会员资料
- 齐博X1注意事项
- 云市场注意事项
- 如何强制进后台
- 换服务器如何转移网站
- 再强调严禁用记事本改任何文件
- 解决Web部署 svg/woff/woff2字体 404错误
- 齐博X1更新记录
- 关于thinkphp5