【发布时间】:2012-05-03 16:23:56
【问题描述】:
您好,我在我的一个应用程序中使用了 django cmets。我定制了 cmets 框架以满足我的需要。一切正常,直到我使用 dojo 使 cmets 的 textarea 可扩展 http://dojotoolkit.org/reference-guide/1.7/dijit/form/Textarea.html#dijit-form-textarea。添加脚本后,表单提交后会抛出错误:此字段是必需的。因此,django 似乎不再将 textarea 识别为表单的一部分。
在我的模板中,我使用标准的注释标签:
{% render_comment_form for event %}
{% render_comment_list for event %}
当我添加 dojo 脚本时,textarea 变得可扩展,但表单不再传递它的值。
dojo.require("dijit.form.Textarea");
dojo.ready(function(){
var textarea = new dijit.form.Textarea({
name: "id_comment",
style: "width:200px;"
}, "id_comment");
});
dojo 将一堆类添加到 textarea 中,使其如下所示。但它仍然有它的 id 并且它仍然是一个 textarea 不是吗?
<textarea autocomplete="off" data-dojo-attach-point="focusNode,containerNode,textbox" name="id_comment" class="dijitTextBox dijitTextArea dijitExpandingTextArea" style="overflow-y: hidden; overflow-x: auto; -moz-box-sizing: border-box; width: 200px; height: 36px;" tabindex="0" id="id_comment" widgetid="id_comment" value="" rows="1"></textarea>
阅读此问题的答案后:Searching for the Ultimate Resizing Textarea。我认为这可能是最好的方法,但不幸的是它不是。 我想知道是不是只有我一个人。有没有办法做到这一点,或者我应该使用不同的方法来使字段可扩展。
编辑
使用道场,帖子看起来像这样:
content_type cylebrations.image
csrfmiddlewaretoken 24827190efbb5b7793aeadaf8276beed
honeypot
id_comment ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
object_pk 4
post Post
security_hash 8a091cfbf1e309627369069d4f71c21b33843a85
timestamp 1335209980
没有道场:
comment eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
content_type cylebrations.image
csrfmiddlewaretoken 24827190efbb5b7793aeadaf8276beed
honeypot
object_pk 4
post Post
security_hash e02d8261f528cfc0f22ee30ced820cfbb80715bc
timestamp 1335210114
【问题讨论】:
-
您可以在提交评论时拦截(使用 Firebug)帖子数据吗?它在那里吗?具体查找是否存在,且其值不为空。
标签: django dojo django-comments