django-отправить форму на выбор

Я сделал простую форму 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 ответов


Я думаю, вам не нужно знать имя формы. Это также должно работать:

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

быстрое решение для интеграции этого в вашу форму будет включать добавление атрибут вашего виджета.

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

теперь можно поспорить, если это не лучше отделено от вашего определения формы (разделение определения, стиля и поведения), но это должно сделать это.