Что такое максимальный нет входного тега в HTML-форме?
Я не могу найти никакой информации в строгой спецификации w3c html http://www.w3.org/TR/html4/sgml/dtd.html
8 ответов
Я не думаю, что есть максимальное количество input
элементы в форме, заданной спецификацией, если это то, что вы спрашиваете. Если у вас много входов и вы хотите убедиться, что форма работает, вам придется примерить клиентов, которых вы поддерживаете. И, конечно, было бы намного лучше изменить форму, если это возможно.
ПОЛЬЗОВАТЕЛИ PHP:
Если вы используете php для обработки вашей формы, обратите внимание, что php имеет параметр max_input_vars в файле php ini. Я считаю, что по умолчанию 1000.
Я столкнулся с этим при создании приложения CakePHP. Чтобы увидеть, влияет ли это на ваше сообщение, подсчитайте, сколько строк данных вы вводите в форму, а затем подсчитайте, сколько строк фактически отправлено обратно.
По сути, ваша форма будет ограничена количеством входных переменных, которые у вас есть.
Это не совсем прямой ответ на ОП, но я думаю, что это будет полезно для любого, кто ищет ограничение на поля ввода.
Насколько мне известно, нет ограничения по количеству элементов формы (<input>
или иным образом) в документе HTML.
Однако, если у вас есть огромное количество элементов формы на вашей странице, вы можете получить запрос POST, который слишком велик для обработки веб-сервером (максимальный размер запросов POST зависит от конфигурации сервера).
Я не думаю, что в стандартах есть ограничение на количество неиспользуемых полей.
Есть два практических ограничения, которые вы должны учитывать:
Некоторые браузеры начинают работать, если на странице слишком много полей ввода. Я не пробовал это с последними версиями, но я помню, как проверял это несколько лет назад, а потом обнаружил, что Internet Explorer плохо себя вел, когда число полей приближалось к сотне.
Слишком много полей ввода на странице просто неудобно и, возможно, немного страшно для пользователя. Разделите ввод на несколько страниц или покажите заполнители и добавляйте поля ввода динамически только там, где они фактически используются.
Технически, не существует максимального количества полей ввода, которые можно поместить на страницу. Практически для пользователя немного неудобно использовать / видеть все поля ввода, если веб-страница имеет большое количество полей ввода.
Я столкнулся с подобной проблемой в старом приложении. Я думал, что это был предел количества элементов ввода HTML или конфигурации ini PHP для max_input_vars.
Но после более тщательного изучения выясняется, что именно Suhosin был установлен на моей рабочей машине, который переписал значение конфигурации PHP.ini с гораздо более низким пределом.
suhosin.post.max_vars = 400
Я только что тоже столкнулся с этой проблемой. Я автоматически создал несколько сотен строк входных данных, и они раньше отправляли половину переменных. Проверил с помощью print_r Vars_Dump. Если я просто создал 20 строк, то все прошло без проблем. Существует ограничение на количество передаваемых переменных. max_input_vars по умолчанию ограничено 1000 . Я связался со своим хостинг-провайдером, и они соответствующим образом изменили php.ini .
Обратите внимание, что мы не можем установить эту директиву max_input_vars во время выполнения с помощью функции ini_set. Мы можем изменить это прямо в файле php.ini.
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 2000
Не забудьте перезапустить веб-сервер. Иногда нам нужно перезагрузить сервер для вступления в силу.