1
我有一個很大的django窗體。它有很多數據取決於選擇的字段。Django窗體選擇變化
例如:
你有車嗎? YES/NO下拉框。
如果是的話,我想說明的其他字段品牌/型號/年/立方厘米等等等等
如果沒有,我想保持它們隱藏起來。
這是什麼最好的方法?一個簡單的顯示/隱藏div使用jquery或有更好的,我應該做的?
我有一個很大的django窗體。它有很多數據取決於選擇的字段。Django窗體選擇變化
例如:
你有車嗎? YES/NO下拉框。
如果是的話,我想說明的其他字段品牌/型號/年/立方厘米等等等等
如果沒有,我想保持它們隱藏起來。
這是什麼最好的方法?一個簡單的顯示/隱藏div使用jquery或有更好的,我應該做的?
是的,你應該在客戶端使用JQuery的簡單顯示/隱藏。 然後在服務器端,如果您還希望僅在選擇了其他內容的情況下使某些字段需要,則需要在表單的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
你是多數民衆贊成在我打算做什麼。看起來我正沿着正確的方向思考(換一種方式)歡呼! – Mark
我這樣做與jQuery。 – Marcin