0

嗨,我在我的一个应用程序中使用 django 评论。我定制了评论框架以满足我的需求。一切正常,直到我使用 dojo 使评论的文本区域可扩展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
4

1 回答 1

0

Dojo 会覆盖 textarea 的名称。我称它为 id_comment,而不仅仅是评论。更改后,帖子看起来很好,一切正常:

    dojo.require("dijit.form.Textarea");

    dojo.ready(function(){
        var textarea = new dijit.form.Textarea({
            name: "comment",
            style: "width:200px;"
    }, "id_comment");
});
于 2012-05-16T19:04:42.710 回答