我有几个搜索表单,一个有 ~50 个字段,另一个有 ~100 个。通常,正如 HTML 规范所说,我使用 GET 方法进行搜索,因为没有更改任何数据。我还没有遇到这个问题,但我想知道我是否会很快用完 URL 空间?
Internet Explorer的限制是 2083 个字符。其他浏览器,有更高的限制。我正在运行 Apache,所以限制大约是 4000 个字符,而 IIS 是 16384 个字符。
在 100 个字段中,假设字段名称的平均长度为 10 个字符,这已经是 5000 个字符了……在 100 个字段的表单上令人惊讶,我还没有任何错误。(25% 的字段是多选,所以字段长度要长得多。)
所以,我想知道我的选择是什么。(缩短表格不是一种选择。)这是我的想法:
- 使用 POST。我不太喜欢这个,因为目前用户可以为他们的搜索添加书签并稍后再次执行——这是一个非常棒的功能。
- 让 JavaScript 循环遍历表单以确定哪些字段与默认字段不同,填充另一个表单并提交该表单。用户当然会为缩短的版本添加书签。
还有其他想法吗?
另外,有谁知道长度是编码长度还是纯文本?
我正在用 PHP 开发,但它可能没有什么不同。
编辑:我无法删除任何字段;我无法缩短表格。这是客户所要求的,他们经常使用不同类别的一系列字段。我知道很难想出一个在这么多字段上看起来不错的表单,但是用户理解它是如何工作的没有问题。