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