xkos / micolog

Automatically exported from code.google.com/p/micolog
MIT License
0 stars 0 forks source link

micolog评论运用xheditor,导致回复引用功能失效 #86

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
我在原有编辑器下,是一切正常的。现在我根据官网的方法��
�运用 xheditor编辑器,

<script type="text/javascript" src="/static/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/static/js/xheditor-zh-cn.min.js"></script>
<p><textarea name="comment" id="comment" cols="100%" rows="15" tabindex="4" 
class="xheditor 
{skin:'o2007blue',tools:'Cut,Copy,Paste,Pastetext,Separator,Bold,Italic,Underlin
e,Strikethrough,FontColor,BackColor,Separator,Align,List,Separator,Link,Unlink,I
mg,Flash,Emot,Separator,About',height:'150'}"></textarea></p>

出现两个bug
bug1:会在第一次回复的时候 总会弹出对话框。       
xheditor编辑器里的内容没有传递给系统。
bug2:回复,引用功能失效。            点击回复和引用的时候 
没有把值传给 
xheditor编辑器。backdb=document.getElementById('comment');comment由于被xh
editor初始化,系统就找不到了。

然后我采用第二种方法

<script type="text/javascript" src="/static/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/static/js/xheditor-zh-cn.min.js"></script>
<p><textarea name="comment" id="comment" cols="100%" rows="15" tabindex="4" 
onfocus="xheditorInit()"></textarea></p>
<script>$('#comment').xheditor({skin:'o2007blue',height:'150',tools:'Cut,Copy,Pa
ste,Pastetext,Separator,Bold,Italic,Underline,Strikethrough,FontColor,BackColor,
Separator,Align,List,Separator,Link,Unlink,Img,Flash,Emot,Separator,About'});</s
cript>

bug1解决。
bug2 仍然存在。

请问你是怎么实现的,能指导一下不?或者能把你的comments.ht
ml发给我自己研究也行。

{% if entry.allow_comment %}
{% if entry.comments.count%}
<a name="commentarea" ></a> <!--回复使用的锚--->
    <h1 class="comments-title">共有{{entry.comments.count}}条评论</h1>

    <div id="comments">

            {% for comment in entry.comments %}
            <div class="comment" id="comment-{{comment.key.id}}">

            <div class="comment-avatar">
            <img height="50" width="50" class="avatar avatar-50" src="{{comment.gravatar_url}}" alt=""/>                
            </div>

            <div class="comment-content">
            <div class="comment-info">
            <span><a href="{{comment.weburl}}" target="_blank">{{comment.author}}</a></span>{{comment.date.date|datetz:"Y/m/d"}}  {{comment.date|datetz:"H:i"}} 

            <a onclick="return backcomment('@{{comment.author}}');" href="#commentarea"><font color="#800000">&nbsp &nbsp回复</font></a><!--回复---> 
            <a onclick="return quote('{{comment.author}}','quote-{{comment.key.id}}')" href="#commentarea" ><font color="#800000">引用</font></a><!--引用--->

            </div>

<p id="quote-{{comment.key.id}}">{{comment.content}}</p>                
            </div>
            <p align="center">您的IP地址是:{{comment.ip|slice:":12"}}  ^_^   </p>
            </div>
{%endfor%}

    </div>
{%endif%}

    <p align="center" color="blue">写点什么吧</p>
<p></p>
        <form action="/post_comment" method="post" id="commentform">

                <p><input type="text" name="author" id="author" class="text" value="" />
                <label for="author">* 昵称(必须嗲)</label></p>

                <p><input type="text" name="email" id="email" class="text" value="" />
                <label for="email">* 邮箱(妥妥滴)</label></p>

                <p><input type="text" name="url" id="url" class="text" value="http://www" />
                <label for="url">&nbsp &nbsp博客/网站</label></p>
                <p><input type="text" class="text" name="checkret" id="checkret" value=""/>
                <label>&nbsp &nbsp={{checknum1}}+{{checknum2}}</label>
                <input type="hidden" name="checknum" id="checknum" value="{{checknum1}} + {{checknum2}}" />
                </p>
                <script type="text/javascript" src="/static/js/jquery-1.4.2.min.js"></script>
                <script type="text/javascript" src="/static/js/xheditor-zh-cn.min.js"></script>
                <p><textarea name="comment" id="comment" cols="100%" rows="15" tabindex="4" "></textarea></p>
                <script>$('#comment').xheditor({skin:'o2007blue',height:'150',tools:'Cut,Copy,Paste,Pastetext,Separator,Bold,Italic,Underline,Strikethrough,FontColor,BackColor,Separator,Align,List,Separator,Link,Unlink,Img,Flash,Emot,Separator,About'});</script>
                <p><input name="submit" type="submit" id="submit" value="评论" /></p>
                <input type="hidden" name="key" value="{{entry.key}}" />

        </form>

<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<script>
    commentuser=$.cookie('comment_user');
       if (commentuser)
       {
         //[user,email,url]=commentuser.split('#@#');
        var tuple=commentuser.split('#@#');
        var user,email,url;
        user=tuple[0];
        email=tuple[1];
        url=tuple[2];
         $('#author').val(user);
         $('#email').val(email);
         $('#url').val(url);
       }
       else
       {
        num1=Math.round(Math.random()*10);
        num2=Math.round(Math.random()*10);
        $('#checkarea #checknum').val(num1+'+'+num2);
        $('#checkarea #disp_check').text(num1+'+'+num2+'=');
        $('#checkarea').show();
       }

  $('#commentform').submit(function(){
         var form = this;
        if (form.author)
    {

        if (!form.author.value)
            {
            alert('昵称:怎么嗲,想隐姓埋名嘞,哥就不让。');
            form.author.focus();
            return false;
            }
        if (!form.email.value)
            {
            alert('邮箱:哟,不拉屎就想走啊,让哥怎么找到你啊?');
            form.email.focus();
            return false;
            }

        str=form.email.value;

        if (str.charAt(0)=="." || str.charAt(0)=="@" || str.indexOf('@', 0)==-1|| str.indexOf('.', 0)==-1 || str.lastIndexOf("@")==str.length-1 || str.lastIndexOf(".")==str.length-1)
        {
        alert('邮箱:请输入正确的电子邮件地址!例如:shit@sina.com');
        form.email.focus();
        return false;
        }

    }

    if(!form.checkret.value)
    {
    alert('算术:奶奶滴,算个数不会死吧?');
    form.checkret.focus();
    return false;
    }

    if ($('#checkarea').css('display')!='none')
    {
        if(eval(form.checknum.value)!=form.checkret.value)
        {
        alert('算术:爷,我真想把你送进幼儿园再学一遍加减乘除!');
        form.checkret.value='';
        form.checkret.focus();
        return false;
        }

    }

        if (!form.comment.value)
        {
        alert('评论:累了吧,想歇吧,就知道你偷懒!快叉,叉叉叉');
    form.comment.value='';
        form.comment.focus();
        return false;
        }
    return true;
  });

 function showinfo(msg) 
{ 
      alert(msg); 
}

//回复自动输入姓名函数 
function backcomment(msg){ 
backdb=document.getElementById('comment'); 
backdb.value=msg; 
return true; 
}

//引用调用函数 
function quote(name,id){ 
var quoteMsg=document.getElementById(id).innerHTML; 
document.getElementById('comment').value='引用'+name+'<blockquote>'+quoteMsg+'
</blockquote>'; 
return true; 
}

</script>
{% else %}
<p class="nocomments">评论已关闭</p>
{% endif %}

Original issue reported on code.google.com by zhengzan...@gmail.com on 10 Jul 2010 at 6:04