2011-02-08 17 views
0

FCBKCompleteを使用してメッセージフォームの受信者フィールドに値を入力したいとします。クライアント側は正常に動作します。 FCBKCompleteはオプションを取得し、選択したものを受信者フィールドに書き込みます。しかし、フォームがポストされると、POSTデータは受信者フィールドに値を持ちません。fcbkcompleteが投稿されない

サーバー側は、Djangoのです:

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"なのでしょうか?その場合、リクエストは「タグ」を取得していません。クライアントが要求として送信しているものを火かき棒で確認できますか?それは本当にGETですか?それともPOSTですか? – Spacedman

+0

このビューは失敗していません。それは動作します、フィールドはこのビューによって提供された値である必要があるように移入されますが、フォームがポストされると、POST辞書はオートコンプリートフィールドに値を持ちません。ありがとう。 – omat

答えて

1

私のDjangoフォームでは、受信者はCharFieldですが、fcbkCompleteはselectフィールドが必要です。フォーム定義の受信者のタイプをChoiceFieldに変更しました。これで値がPOSTされました。

また、属性名に[]が追加されています。これを避けるために、私はこのパッチを使用しました: https://github.com/eeabed/FCBKcomplete/commit/00183fbd83283cf05b3c9de02e076201623975dd

ありがとうございました。

関連する問題