嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-03-15 4626 次浏览 标签 : ZzBlog

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

今天在做留言测试的时候,首先我的想到的时候在留言成功之后,就把留言内容清除,但是email、name、bloglink保留。所以我就想到,既然要保留,那么就用户下次来也不用输入啦!这样就需要使用cookie的存储和读取,在js端(所以,前端框架中setcookie和getcookie不可少)

//执行评论
var post_comment = function(){

    if($("textarea[name='comment']").val().length < 1){
        ui.error('...说点什么吧');
        return false;
    }
    if(!$("input[name='email']").val().match(/^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/)){
        ui.error('邮箱格式不正确');
        return false;
    }
    var blogurl = $("input[name='blog']").val();
    if(blogurl){
        var blogUrlArr = blogurl.split('://');
        if(blogUrlArr.length < 2){
            blogurl = 'http://'+blogurl;
        }
    }
    //第一次留言,则把用户的邮箱、称呼、博客地址存到客户端cookie里方便下次调用,而不用浏览的人手动输入了
    if(!getcookie('yourname')){
        setcookie('yourname',$("input[name='yourname']").val());
    }
    if(!getcookie('email')){
        setcookie('email',$("input[name='email']").val());
    }
    if(!getcookie('blog')){
        setcookie('blog',$("input[name='blog']").val());
    }
    $.post(U('Comment/doComment'),{
        blogid: $("input[name='blogid']").val(),
        blog:blogurl,
        content: $("textarea[name='comment']").val(),
        email: $("input[name='email']").val(),
        name: $("input[name='yourname']").val()
    },function(data){
        if(parseInt(data)>0){
            ui.success('评论成功');
            $("#commentList").append('<div class="commentlist"><div><a href="'+blogurl+'">'+$("input[name='yourname']").val()+'</a>刚刚</div>'+$("textarea[name='comment']").val()+'</div>');
            $("textarea[name='comment']").val('');
        }
    })
}

blog页面:

            <script type="text/javascript">
                $("textarea[name='comment']").focus(function(){
                    //先自动填下留言表单,为留言做准备
                    var email = getcookie('email');
                    if(email){
                        $("input[name='email']").val(email);
                    }
                    var yourname = getcookie('yourname');
                    if(yourname){
                        $("input[name='yourname']").val(yourname);
                    }
                    var blog = getcookie('blog');
                    if(blog){
                        $("input[name='blog']").val(blog);
                    }
                })



                $("#post_comment").click(function(){
                    post_comment();
                })
                $(this).bind('keydown',function(e){
                    var key = e.which;
                    if(key == 13) {
                        post_comment();
                    }
                })
            </script>

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表

回复 亮亮1 2016-02-17 18:02:49
不错