У меня есть пара форм поиска, 1 с ~ 50 полями, а другая с ~ 100. Обычно, как говорит спецификация HTML, я выполняю поиск по методу GET, поскольку никакие данные не изменяются. Я еще не сталкивался с этой проблемой, но мне интересно, скоро ли у меня закончится URL-адрес?
Предел Internet Explorer составляет 2083 символа. Другие браузеры имеют гораздо более высокий предел. Я запускаю Apache, поэтому предел составляет около 4000 символов, IIS - 16384 символов.
В 100 полей, например, средняя длина имени поля 10 символов, это уже 5000 символов... удивительно в форме поля 100, у меня пока не было никаких ошибок. (25% полей являются множественными выборами, поэтому длина поля намного длиннее.)
Итак, мне интересно, какие у меня варианты. (Сокращение форм - это не вариант.) Вот мои идеи:
- Используйте POST. Мне это не нравится, потому что на данный момент пользователи могут добавлять закладки в свои поиски и выполнять их позже - действительно приятная функция.
- Проведите JavaScript в форме, чтобы определить, какие поля отличаются от значений по умолчанию, заполнить другую форму и отправить ее. Пользователь, конечно же, закроет сокращенную версию.
Любые другие идеи?
Кроме того, знает ли кто-нибудь, является ли длина закодированной длиной или просто обычным текстом?
Я развиваюсь в PHP, но это, вероятно, не имеет значения.
Изменить: Я не могу удалить какие-либо поля; Я не могу укоротить форму. Это то, о чем попросил клиент, и они часто используют ряд полей в разных категориях. Я знаю, что трудно думать о форме, которая выглядит хорошо с этим множеством полей, но у пользователей нет проблем с пониманием того, как это работает.