2014-05-29 4 views
2

Привет Я пытаюсь отправить форму, когда выбор вариант на ChoiceFieldДжанго отправить форму на изменение

class ActionForm(forms.Form): 
    """ Holds the options for mailbox management """ 
    choices = ['create new folder', 'delete', 'read', 'unread'] 
    action = forms.ChoiceField(choices=choices, attrs={'onchange': 'actionform.submit();'}) 

, но теперь я получаю invallid синтаксис, когда я пытаюсь загрузить форму. Я уверен, что проблема attrs={'onchange': 'actionform.submit();'}), но не знаю, как это сделать.

ответ

3

Вы должны установить widget аргумент на поле и передать attrs аргумент:

action = forms.ChoiceField(choices=choices, 
          widget=forms.Select(attrs={'onchange': 'actionform.submit();'})) 

Кроме того, choices список должен содержать элементы, содержащие две вещи внутри:

choices = [(0, 'create new folder'), (1, 'delete'), (2, 'read'), (3, 'unread')] 
+0

благодарит за awnser. это, похоже, работает, однако теперь я думаю, что мой выбор по-прежнему не прав. я получаю ошибку: ко многим значениям для распаковки –

Смежные вопросы