我有一个需要数百个复选框的表单,但是如果用户选择所有这些复选框,则生成的 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 用户……但。