添加评论的实现思路
我也不知道该说些什么,就今天的内容吧;
1.用TP5框架做评论功能;
1.1、评论功能的局限性是只能回复评论人的评论不能够回复‘回复评论人的评论’
原因是我感觉在往下写下去的话会有非常大的工作量,害怕会写崩。好吧我承认我很胆小;
1.2、实现思路
1.2.1、评论
首先我们得知道我们需要哪些字段:文章的ID,评论人的ID,评论的内容 ;没错我们只需要这三个字段(这些字段是写入评论表中的)
{$item->id}//这个是文章的标签
隐藏标签input type=‘hidden’ value($item->id)
我们给每篇文章一个唯一的id,volist遍历输出,id=“xxx_{$item->id}”;
创建方法 addcomment(id);
给评论按钮添加addcomment({$item->id});
在方法addcomment(id)中通过jquery选择器$("xxx_"+id)获取这个标签的子元素的值;
var content = $("xxx_"+id+" input:eq(0)").val();//这是内容;
var art_id = $("xxx_"+id+" input:eq(0)").val();//这是文章ID;
这里需要做一个判断,来判断用户是否输入了内容
if(content == ‘’){
当然如果你有更好的提示框可以添加;如果内容为空的话就反馈给前台,来给用户提示
alert(“评论内容不能为空”);
return ;
}
当上面的数据都符合条件后我们就要开始进行前后台信息交互了
这里使用$.post()就可以了 ,并不一定要用$.ajax()
$.post("传入后台的url",{art_id:art_id 这里是向后台传入的数据},function(res){
我们在这里接收后台传过来的数据
var msg = $.parseJSON()//后台必须传出的是json数据
我们来做个判断 suc代表的是添加成功fail代表的是添加失败(注意!光在前台进行内容的判断是不够的,后台需要在加一层判断)
if(msg.msg == 'suc'){
//我们先进行清空一下content的内容,具体的我就不写了
//如果msg.msg 是成功,我们就要开始实现无刷添加评论了
//我们先给用户提示一下你添加成功了
alert('添加成功');
//开始实现无刷添加评论
//我们要实现无刷添加还必须让它添加的顺序是正确的
//我们先获取$(".comment")的第一个p标签
var suc = $(".comment_"+id+" p:eq(0)");
//这里我们要做一个判断是否存在第一个评论;
if(suc.length==0){
//这说明第一个P标签是不存在的,这时我们只需要向展示区标签后直接进行追加就可以了
$(".comment_"+id).append("<p>"+content+"</p>");
}else{
//存在第一个标签时我们就要向第一个p标签前追加内容
$(".comment_"+id+“ p:eq(0)”).before("<p>"+content+"</p>");
}
$(".comment").append("<p>"+content+"</p>");//这个地方是在评论展示区展示屏轮
}else{
alert(msg.msg);提示错误信息
}
})

浙公网安备 33010602011771号