我有一个大型的django表格。它有很多数据取决于所选的字段。
例如:
你有车吗?是/否下拉框。如果是,我想显示其他字段make / model / year / cc等
如果不是,我想隐藏它们。
最好的方法是什么?一个简单的show / hide div使用jquery还是有更好的东西我应该做什么?
答案 0 :(得分:2)
是的,你应该在客户端使用简单的show / hide和JQuery。
然后在服务器端,如果您还希望仅在选择其他内容时创建一些字段 required ,则需要在表单的clean
方法中进行条件验证。
例如:
class MyForm(Form):
...
def clean(self):
cleaned_data = self.cleaned_data
has_car_required_fields = ['foo', 'bar', 'baz']
if cleaned_data.has_key('has_car') and cleaned_data['has_car']:
for field_name in has_car_required_fields:
if not cleaned_data.has_key(field_name) or not cleaned_data[field_name]:
self._errors[field_name] = ErrorList([_(u'This field is required')])
return cleaned_data