2013-07-09 34 views
0

在您將其標記爲重複之前,請閱讀。如果需要字段,則需要設置html

我知道如何使用窗體中的小部件來設置所需的html屬性,並且我知道如何在模板中檢查是否需要該字段。

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

的事情是我希望在必填字段被填充到只提交表單,正如你知道,如果你設定要求=「需要」到這些領域的HTML需要的照顧。

有沒有什麼辦法可以在我的通用模板中做到這一點,這樣我就不必爲每個必填字段使用窗口小部件去設置每個窗體並設置html屬性了?

謝謝你的時間。

回答

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_fieldname」輸入

如果您在使用多種形式的方式來獲得輸入:

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

我希望這WIL我對某人有用。