我的表格很长(超过100个字段)。它由各种字段类型组成,包括IntegerRangeField
,FormField
,FieldList
等。
这是一个简化的示例:
class SubForm(Form):
first_name=TextField('First')
age=IntegerRangeField('Age')
class MainForm(Form):
height=IntegerRangeField('Height')
weight=IntegerRangeField('Weight')
friend_list=FieldList(FormField(SubForm),'Friends')
IntegerRangeFields
默认情况下不显示滑块值,因此我使用JavaScript函数JSfunction
在模板中显示滑块值。
所有内容都使用宏呈现:
{% for field in form if field.type not in ["HiddenField","CSRFTokenField"] %}
{% if field.type in ["IntegerRangeField"] %}
{{field.label}}
{{field(min=0, max=100, oninput="JSfunction(this)")}}
<output><script> document.write() </script></output>
{% else %}
{{field.label}}
{{field}}
{% endif %}
{% endfor %}
我在引用IntegerRangeFields
内FormField
内的FieldList
时遇到麻烦,因此无法对它们应用JSfunction
并显示滑块值。我怎样才能做到这一点?到目前为止,所有字段/小部件都已渲染,但是FormFields
中FieldList
中的滑块不显示滑块值。
谢谢!
编辑: 不在“字段列表”中的IntegerRangeFields会显示为滑块,移动滑块会在滑块旁边显示滑块值:
即height ----------|| 100
FieldList中的IntegerRangeFields没有应用JS函数,因此在滑块旁边没有整数值:
即age ||----------
我很难遍历FieldLists的FormFields中的IntegerRangeFields。