我需要在django表单radioButton上执行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
我该怎么办才能让它发挥作用?
答案 0 :(得分:0)
您需要使用AJAX:
在你的模板中:
$(document).ready(function(){
function check_status(){
$.get("{% url app.views.check_status %}", function(data){
console.log(data);
}
}
})
https://api.jquery.com/jQuery.get/
这样你就可以从视图中执行函数了。