【发布时间】:2014-05-04 15:44:04
【问题描述】:
我需要在 django 表单单选按钮上执行 onChange 函数。我无法访问该功能以进行进一步处理。是否可以在没有模板的情况下执行管理功能,因为我在 forms.py 中定义了如下形式
forms.py
BoolChoices = ((0, 'Yes'), (1, 'No'))
class myForm(forms.ModelForm):
myfield = forms.IntegerField(widget=forms.TextInput(attrs={'size': 7, 'disabled':True}))
option = forms.TypedChoiceField( choices=BoolChoices, widget=forms.RadioSelect(renderer=HorizontalRadioRenderer, attrs={'onchange':'check_status()'}), coerce=int)
在views.py中定义函数
def check_status(request):
if request.method == 'GET':
form = MyForm
else:
form = MyForm(request.POST)
if form.is_valid():
opt = form.cleaned_data['option']
if opt == 1:
form.fields['myfield'].widget.attrs['enabled'] = True
我应该怎么做才能让它工作?
【问题讨论】:
-
这个问题很不清楚。
onChange是一个 Javascript 函数,但您没有显示任何 Javascript。 -
其实我不知道如何通过表单单选按钮 onChange() 访问 views.py 中定义的函数 check_status。我该怎么办??
-
你需要使用 Ajax。
标签: python django django-forms