0

在将其标记为重复之前,请阅读。

我知道如何使用表单中的小部件设置 html 所需的属性,并且我还知道如何在需要该字段时签入模板。

<td title="{{field.help_text}}">
   {{field}}
   {% if field.field.required %}
    *
   {% endif %}
</td>

问题是我希望仅在填写必填字段时提交表单,并且如您所知,如果您将 required="required" 设置为这些字段,则 html 会处理此问题。

有什么方法可以在我的通用模板中做到这一点,这样我就不必去每个表单并为每个必填字段使用小部件设置 html 属性?

谢谢你的时间。

4

1 回答 1

0

我解决了混合 django 和 jquery 的问题(据我所知,django 代码首先被“解析”):

<script type="text/javascript">
    $(document).on("ready",function(){
        {% for field in form.visible_fields  %}
            {% if field.field.required %}
                var input = $("#id_{{field.name}}");
                input.attr("required","required");
            {% endif %}
        {% endfor %}
    });
 </script>

$("#id_{{field.name}}");是有效的,因为 django 表单总是(至少在 1.5 中)将 id 属性添加到格式为“id_fieldname”的输入中

如果您使用多种形式获取输入的方式是:

var input = $("#id_{{form.prefix}}-{{field.name}}");

我希望这对某人有用。

于 2013-07-11T21:49:35.583 回答