我的网站搭建(第6天) 评论Ajax提交

  • 发布时间:2015年12月10日 17:20
  • 作者:杨仕航
* 该文是基于Python2.7开发的,最新Python3.x和Django2.x视频教程可以前往 >> Django2.0视频教程

Django的评论库如果填写不完整,或者提交出错,就会跑到自带的页面。

关键是自带的评论页面超级不好看。所以得想方法避开。


为Comments添加Ajax功能,免得提交出错跳到自带的评论页面。

具体可参考django 简易博客开发 4 comments库使用及ajax支持提交前,先在本地验证是否填写。

{% block extra_footer %}
    {#设置提交评论#}
    <script type="text/javascript">
        $(document).ready(function() {
        $('#comment_form').submit(function() {
            if ($("#id_honeypot").val().length!=0) {
                        alert("Stop!垃圾评论");
                        return false;
            };
            if ($("#id_name").val().length==0) {
                        alert("Error:请输入您的用户名");
                        $("#id_name").focus();
                        return false;
            };
            if ($("#id_email").val().length==0) {
                        alert("Error:请输入您的邮箱地址");
                        $("#id_email").focus();
                        return false;
            };

            var email=$("#id_email").val();
            if(!email.match(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/)){
                alert("Error:邮箱不正确!请重新输入");
                $("#id_email").focus();
                return false;
            }

            if ($("#id_comment").val().length==0){
                alert("Error:请输入您的评论");
                $("#id_comment").focus();
                return false;
            };

            $("#id_timestamp").value=event.timeStamp;
            $.ajax({
                type: "POST",
                data: $('#comment_form').serialize(),
                url: "{% comment_form_target %}",
                cache: false,
                dataType: "html",
                success: function(html, textStatus) {
                    window.location.reload();
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("评论出错," + errorThrown);
                }
            });
            return false;
            });
        });
    </script>
{% endblock %}

就这样实现了ajax提交。只有后台运行出错,才会返回error错误。

上一篇:我的网站搭建(第7天) 新应用:工具

下一篇:我的网站搭建(第5天) Django评论库

相关专题: Django评论库开发   

评论列表

黑色的忧虑2011

黑色的忧虑2011

🇨🇳

2017-10-16 14:29 回复

新的评论

清空