django - 选择发布表格

时间:2011-02-08 15:17:44

标签: django forms post submit html-select

我制作了一个简单的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()。 可以在不使用模板的情况下完成吗?

1 个答案:

答案 0 :(得分:15)

我认为您不需要知道表单名称。这也应该有效:

<select name='myselect' onChange="this.form.submit();">

将此功能集成到表单中的快速解决方案是添加attribute to your widget

widget=forms.RadioSelect(attrs={'onchange': 'this.form.submit();'})

现在有人可能会争论这是否与表单定义(分离定义,样式和行为)分离得更好,但是应该这样做。