我有以下forms.py与单选按钮和其中的其他领域。基于单选按钮的选择,我应该启用或禁用表单中的其他字段。django中的单选按钮选择功能表格
Forms.py
class SampleForm(forms.ModelForm):
option = forms.TypedChoiceField(choices=BoolChoices, widget=forms.RadioSelect(renderer=HorizontalRadioRenderer,attrs={'onchange':'check_status()'}), coerce=int,)
otherFields = forms.IntegerField(
widget=forms.TextInput(attrs={'size': 7, 'disabled':True}))
.....
.....
class Meta:
model = Sample
class Media:
js = ('checkoption.js'),
我的问题是我应该使用模板(扩展管理/ base_site.html)或者只是添加模板目录下的myapp /模板/ MYAPP/template.html
在这种情况下,如果我使用以下template.html和views.py中
<form action="{% url myapp.views.check_option %}" method="POST">{% csrf_token %}
{{ form_as_p }}
<input id="submit" type="button" value="Click" />
def check_option(request):
if request.method == 'GET':
form = SsmpleForm()
else:
form = SampleForm(request.POST)
if form.is_valid():
opt = form.cleaned_data['option']
if opt == 1:
form.fields['otherFields'].widget.attrs['enabled'] = True
return render_to_response('verinc/template.html', {'form' : form,},context_instance=RequestContext(request))
现在如何将无线电选择映射到这个视图?有没有其他的解决方案来设计这个任务在Django中。
尝试与阿贾克斯
$(document).ready(function(){
function check_status(){
$.get("{% url myapp.views.check_option %}", function(data){
console.log(data);
}
}
})(django.jQuery);
你是什么意思由'如何*映射*无线电选择到这个视图?' –
我的意思是,当单击一个单选按钮时调用在视图中定义的函数check_option() – Ria
'check_option'是视图。它会在您提交表单时执行。 –