Отправить поля формы внутри дисплея: none element

javascript css forms

65315 просмотра

3 ответа

У меня длинная форма, которую я разбил на 6 шагов. Когда форма загружена, все этапы загружаются, но только первый шаг отображается. Остальные имеют CSS, display:noneпоэтому они скрыты. Когда шаг завершен и проверен с помощью Javascript, текущий шаг будет установлен, display:noneи будет установлен новый шаг display:block. На последнем шаге пользователь отправляет форму. Однако, как и ожидалось, представлены только поля в display:blockэлементе на странице. Все заполненные поля в элементах с display:noneигнорируются.

Есть ли способ представить поля внутри display:noneэлементов?

Если нет, есть ли другой способ добиться такого же эффекта?

Автор: Nick Petrie Источник Размещён: 17.05.2019 03:45

Ответы (3)


135 плюса

Решение

Установите их visibility:hiddenи position:absoluteвместо этого. Поля не будут отправляться на сервер с display:none, но будут с visibility:hidden. Также, переключая «положение» на «абсолютный», вы должны получить тот же визуальный эффект.

Обновление Это не похоже на проблему в любом текущем браузере (по состоянию на ноябрь 2015 г.). Поля отправляются, даже если для отображения установлено значение «нет». Однако поля, «отключенные», будут по-прежнему не представлены.

Автор: adam0101 Размещён: 29.11.2011 10:09

0 плюса

Просто чтобы добавить что-то к ответу выше. Если вы хотите использовать slideDown()- как раз перед тем, как установить css элемента следующим образом:

$('element')
    .css({
        display: 'none'
        position: 'relative',
        visibility: 'visible'
    })
    .slideDown();

И slideDown()будет работать нормально. Вы можете использовать ту же логику slideUp().

Автор: Hristo Enev Размещён: 12.11.2014 08:59

0 плюса

В HTML4, раздел 17.13.2, прямо сказано, что даже скрытые элементы управления, использующие display: none могут быть действительны для отправки.

https://www.w3.org/TR/html401/interact/forms.html

Поэтому, если браузер игнорирует отображение: нет, то он не полностью поддерживает HTML. Я рекомендую переключиться на настоящий браузер.

Автор: elixon Размещён: 12.11.2018 06:33
Вопросы из категории :
32x32