我制作了一个简单的django表单,其中包含一个选项列表(在单选按钮中):
class MyForm(forms.Form):
choices=forms.ChoiceField( widget=forms.RadioSelect(), choices=[(k,k) for k in ['one','two','three']],label="choose one")
我希望在用户选择其中一个选项时自动提交表单。在简单的HTML中我会以
的方式完成它 <select name='myselect' onChange="FORM_NAME.submit();">
....
</select>
但我不知道如何在不编写模板的情况下将其集成到表单类中。具体来说,我需要知道FORM_NAME
,以便我可以在上面的代码段中调用FORM_NAME.submit()
。
可以在不使用模板的情况下完成吗?
答案 0 :(得分:15)
我认为您不需要知道表单名称。这也应该有效:
<select name='myselect' onChange="this.form.submit();">
将此功能集成到表单中的快速解决方案是添加attribute to your widget。
widget=forms.RadioSelect(attrs={'onchange': 'this.form.submit();'})
现在有人可能会争论这是否与表单定义(分离定义,样式和行为)分离得更好,但是应该这样做。