Каково практическое ограничение на количество элементов ввода в форме HTML? - PullRequest
4 голосов
/ 09 мая 2011

Я разрабатываю страницу ввода в виде таблицы, шириной 14 столбцов и длиной до 25 строк.Когда какая-либо конкретная ячейка получает фокус, становятся доступными дополнительные 4 текстовых поля и 1 радио-выбор с 3 вариантами.

Другими словами, у меня 14 столбцов по 25 строк, что равно 350 ячейкам.Каждая из этих ячеек имеет 4 текстовых ввода и 1 выбор радио (с 3 вариантами), что дает мне в общей сложности 1750 полей.Есть также несколько мета-полей, разбросанных вокруг, поэтому 1800 - это довольно хорошая оценка общего количества полей в форме.Значительное количество JS используется для отображения / скрытия различных полей, чтобы пользовательский интерфейс был пригоден для использования.Я думаю, что JS работает достаточно хорошо, но я продолжаю тонко настраивать вещи.

Это возвращает меня к моему первоначальному вопросу;Каково практическое ограничение на количество элементов ввода в форме HTML?

PS.Я не прошу варианты, как изменить дизайн моего интерфейса или дизайн системы.Я задаю вопрос, который мне интересен, чтобы получить опыт других людей в подобных ситуациях.

Ответы [ 2 ]

3 голосов
/ 09 мая 2011

Хотя 1800 элементов - это много, ваш JS окажет большее влияние на производительность на странице.Вы упомянули, что вы уже заметили снижение производительности в IE (шокер), поэтому было бы интересно попробовать отключить блоки JS, чтобы увидеть, как каждый из них влияет на производительность (в этих браузерах).Этот процесс может быть полезен при определении того, какие части могут вызывать узкие места в различных браузерах.

Я предполагаю, что вы отправляете любые введенные данные через AJAX по мере продвижения пользователя.В противном случае вы можете столкнуться с проблемами при отправке.

Кроме производительности страницы, вам, вероятно, следует обратить внимание на размер документа и время загрузки страницы.Кажется, что ваши страницы могут очень быстро набрать вес.Таким образом, чем меньше полей вы включаете при загрузке страницы, тем лучше.

Что касается прямого ответа на ваш вопрос об ограничении элементов, я не думаю, что у меня когда-либо возникала проблема с наличием слишком большого числа (кромевопрос размера страницы).Тем не менее, кажется хорошей практикой ограничивать первоначально загруженную сумму и предлагать способ доставки новых строк, полей и т. Д. По мере необходимости.

Удачи!

2 голосов
/ 09 мая 2011

Предполагая, что в DOM нет жестких ограничений в каком-либо конкретном браузере (и это было бы довольно маловероятно), ваш практический предел будет варьироваться, как вы обнаружили, в зависимости от вашего браузера и очень сильно от того, что вы делаете свсе эти элементы.

Элементы, просто торчащие вокруг, могут замедлять различные поиски / обходы, в зависимости от того, что вы просматриваете, и т. Д. В конце концов, в зависимости от браузера, вы просматриваете проблемы с объемом памяти и поиском, но вам придетсябыть действительно огромными числами, намного выше того места, где вы находитесь, чтобы увидеть подобные эффекты.

Перефразирование / повторное рендеринг документа при изменении параметров, вероятно, увеличится в стоимости, по крайней мере, линейно с количеством элементов настраница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...