何百ものチェック ボックスが必要なフォームがありますが、ユーザーがそれらすべてを選択すると、結果の URL が非常に長くなり、IE8 では約 2000 文字で切り捨てられます。
現在の実装では、次のような URL が作成されます。
http://example.com?c_$id1=on&c_$id2=on&c$id3=on...etc.
基本的に、すべてのチェック ボックスには ID があり、その ID はパラメーターとして URL に送信されます。
代わりに、パイプ区切りの値を使用して、URL を次のように変更したいと思います。
http://example.com?c=$id1|$id2|$id3|$id4...etc.
クライアント側では、JavaScript を使用してフォームを既に送信しているので簡単ですが、サーバー側では、現在これらのチェックボックスが数百として構築されている Django フォームでクレイジーな作業を行いすぎないようにしたいと考えていますBooleanFields
。
Djangoフォームでパイプ区切りの値を逆にしてスムーズに動作させる最良の方法は何ですか?
その他の注意事項:
- パラメータをこれ以上短くすることはできません。
- 投稿リクエストを送信するだけではいけません。URL をブックマーク可能にする必要があります。
- IE8 ユーザーを取り除くことはできません...まだ。