我制作了一个简单的 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()
在上面的片段中。可以不使用模板来完成吗?
最佳答案
我认为您不需要知道表单名称。这也应该有效:
<select name='myselect' onChange="this.form.submit();">
将其集成到您的表单中的快速解决方案包括添加 attribute to your widget .
widget=forms.RadioSelect(attrs={'onchange': 'this.form.submit();'})
现在有人可能会争辩说,这是否与您的表单定义(分离定义、样式和行为)没有更好的分离,但应该这样做。
关于django - 在选择上发布表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4934839/