Согласно спецификации html поле отправляется, если оно соответствует следующим критериям:
- Содержится в отправляемой форме
- Это тип ввода, выберите,кнопка
- Содержит непустой атрибут имени
- Если он имеетэто необходимо проверить.
Видимость не важна.На самом деле есть много причин, почему что-то может быть невидимым, в том числе и за кадром.Некоторые методы, такие как поля honeypot, требуют этого.
Таким образом, чтобы полностью ответить на ваш вопрос, если какое-либо взаимодействие с формой требует, чтобы вы отправляли только то, что видимо, вы можете выполнить одно из следующих действий:
- Переместите «видимые» элементы, чтобы они стали дочерними элементами формы (предпочтительным способом), переместите их к другому родителю, когда они не видны (после того, как анимация их скрывает).Я думаю, это должно быть проще, особенно если использовать jquery.Запомните анимацию, переместите скрытые элементы вокруг соответствующих родителей, а затем анимируйте.Кроме того, скрытыми элементами можно легко манипулировать с минимальной производительностью, поскольку браузер не пытается их повторно визуализировать, пока они не станут видимыми в любом случае.
- Очистить данные (потерять пользовательский ввод)
- Очиститьимена полей ввода и воссоздайте имена, когда они не будут скрыты.
Третий прием немного сложен.Я бы выбрал первый или второй, в зависимости от ваших конкретных потребностей, предпочтение отдается первому.