2012-04-18 169 views
0

如何在JavaScript中使用Django的模板标签?这是我的代码:在JavaScript中使用django模板标签

{% block scripts %} 
<script> 
    $(document).ready(function() { 
     var classEditor = { 
      dcg: $("div.control-group"), 

      set: function(i, errors) { 
       $dcg = $(classEditor.dcg[i]); 
       $dcg.addClass("error"); 
       $dcg.children('div').children('div').children('p').text(errors); 
      } 
     }; 

     {% if form.email.errors %} 
      {% for err in form.email.errors %} 
       {{ e|add:err }} 
      {% endfor %} 
      classEditor.set(1, {{ e }}); 
     {% endif %} 
    }) 
</script> 
{% endblock %} 

我想所有的错误发送到功能,用它做什么。我试图使用striptagsstringformat,但它总是会引起错误。

回答

1

我不认为你的问题与Javascript有关。问题在这里:

{{ e|add:err }} 

这是毫无意义的。看起来你正在试图建立一个列表,e,其中包含form.email.errors中的所有项目。但是你不能在模板中做这样的事情 - 根据设计,不允许数据操作。 add过滤器只是执行数字计算来显示,它不会修改对象。

您可能想要在您的视图中将错误序列化为JSON,并将该JSON对象传递给classEditor.set