2011-02-08 2 views
0

Я хочу заполнить поле получателей формы сообщения, используя FCBKComplete. Клиент работает отлично. FCBKComplete получает параметры и записывает выбранный в поле получателей. Но при отправке формы данные POST не имеют значений в поле получателей.fcbkcomplete не публикует

Сервер-сторона Джанго:

def recipients_autocomplete(request): 
    q = request.GET.get('tag') 
    dump = '' 
    if q: 
     users = User.objects.filter(username__startswith=q) 
     results = [{"key": u.username, "value": u.username} for u in users] 
     dump = json.dumps(results) 
    return HttpResponse(dump, mimetype="text/plain") 

Получатели пусто в request.POST словаре:

{... 
u'recipients[]': [u''] 
...} 

Как я могу получить значение в поле автоматически появившемся?

Спасибо.

+0

Можете ли вы сузить место в точке зрения, что оно не работает? Является ли это «if q», и в этом случае запрос не получает «тег». Можете ли вы проверить с firebug, что клиент отправляет в качестве запроса? Это действительно ПОЛУЧИТЬ? Или это POST? – Spacedman

+0

этот взгляд не терпит неудачу. он работает, поле заполняется так, как должно, со значениями, предоставленными этим представлением, но когда форма размещена, словарь POST не имеет значений в поле автозаполнения. Благодарю. – omat

ответ

1

Проблема заключалась в том, что в моей форме Django получателями являются CharField, но fcbkComplete ожидает поле select. Я изменил тип получателей в определении формы на ChoiceField, и теперь значения POSTED.

Другое дело, что [] прилагается к имени атрибута. Чтобы этого избежать, я использовал этот патч: https://github.com/eeabed/FCBKcomplete/commit/00183fbd83283cf05b3c9de02e076201623975dd

Спасибо.

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