我有一个包含RadioSelect字段的表单。我无法在init()方法(< 1> /< 3> /< 4>)和/或创建RadioSelect表单元素(< 2>)中以此形式禁用此字段。 )。此表单有一个子类,但它不使用相关的radioButton字段。我一直在努力确定过去4个小时的问题是不可用的。我可以错过什么?
以下是我正在使用的代码片段:
class ExampleForm (ParentForm1, ParentForm2, ParentForm3):
def __init__(self,*args, **kwargs):
super(ExampleForm, self).__init__(*args, **kwargs)
#<1>
self.fields['radioButton'].widget.attrs['disabled'] = 'disabled'
#<3>
#self.fields["radioButton"].widget.attrs['disabled'] = True
#<4>
#self.fields['radioButton'].widget.attrs.update({'disabled':'disabled', 'readonly':'readonly'})
#<2>
radioButton = forms.ChoiceField(label=_("Gender"),
initial='M',
required=False,
choices=GENDER_LIST,
widget=forms.RadioSelect(attrs={"disabled":"disabled"}))
我正在使用Django 1.4。
答案 0 :(得分:2)
#<1>
self.fields['radioButton'].widget.attrs['disabled'] = 'disabled'
#<2>
self.fields["radioButton"].widget.attrs['disabled'] = True
#<3>
self.fields["radioButton"].widget.attrs = {'disabled':'disabled'}
以上方法可用于禁用RadioSelect字段。事实证明,JavaScript脚本正在删除&#34;禁用&#34; RadioSelect字段的属性。