Django:用户单击单选按钮时如何提交表单

时间:2012-01-13 12:29:31

标签: django forms

如何添加:

onclick="this.form.submit();"

以我的radiobutton形式?我想在用户点击radiobutton时发布我的表单。

class MyForm(forms.Form):

def __init__(self, *args, **kwargs):
    self.news = kwargs.pop('news')
    super(MyForm, self).__init__(*args, **kwargs)
    choices = ([ ("%s" % a.id, "%s" % a.text)  for a in  self.news])
    self.fields['new'] = forms.ChoiceField(choices = choices, widget=forms.RadioSelect())

我希望将此结果放在模板中:

<input type="radio" id="new" name="new" value="new"  onclick="this.form.submit();">

2 个答案:

答案 0 :(得分:3)

self.fields['new'] = forms.ChoiceField(choices = choices, widget=forms.RadioSelect(attrs={'onclick': 'this.form.submit();'}))

虽然在.py文件中放置模板逻辑不是最佳选择。

答案 1 :(得分:1)

如何在模板中生成表单? 如果您使用{{form.as_p}}而不是考虑渲染自定义表单,如:Django's Custom Forms

中所述