Emlog无刷新评论(ajax)

2014-06-25

看到此类的教程比较少,就把自己弄好的一个无刷新ajax评论代码放出来吧。

首先将如下代码放到主题的js文件中载入。

function test()
{
        var comname=$(':input[name='comname']').val(); 
        var commail=$(':input[name='commail']').val(); 
        var comurl=$(':input[name='comurl']').val(); 
        var gid=$(':input[name='gid']').val(); 
        var pid=$(':input[name='pid']').val(); 
        var comment=$('#comment').val(); 
        var poststr='comname='+comname+'&commail='+commail+'&comurl='+comurl+'&comment='+comment+'&gid='+gid+'&pid='+pid;
        $.ajax({
                url:'index.php?action=addcom',
                type:'POST',
                data:poststr,
                success:function(data){
                        $('#ajax_comments').html(comment+'&nbsp--&nbsp查看评论请刷新').css({'display':'block'});
                        $('#comment-post').fadeOut();
                        $('#comment').val('刷新之后可查看评论');
                        $("html,body").animate({scrollTop:$(".nextlog").offset().top+10},1000);
                }
                })
        return false;
}

然后找到主题的module.php文件,找到“//blog:发表评论表单”的一块,然后再找到<form method="post" name="commentform" action="<?php echo BLOG_URL; ?>index.php?action=addcom" id="commentform">,将其中的 action="<?php echo BLOG_URL; ?>index.php?action=addcom" 替换为onSubmit='return test();'

在其次,在主题目录下的echo_log.php中的评论框位置<?php blog_comments($comments); ?>前面加上一行<div id='ajax_comments'></div>,用来展示新发表的评论。

然后 ajax无刷新就完了。

1526 查看