我有以下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'是視圖。它會在您提交表單時執行。 –