Поле типа hidden хранит значение, которое никогда не отображается респонденту. В отличие от calculate (который вычисляет значение), hidden используется для хранения внешне предоставленного значения — например, идентификатора задачи, идентификатора домохозяйства из другой системы или кода перечислителя, вводимого при запуске формы.

Базовая спецификация XLSForm

typenamelabel
hiddenhousehold_id

Метки для скрытых полей не обязательны, поскольку ничего не отображается на экране.

Применение

Скрытые поля обычно используются для:

  1. Передачи предварительно назначенного ID из системы управления опросом (например, ID домохозяйства, номер дела, код задачи)
  2. Хранения версии формы или метаданных развёртывания
  3. Внедрения конфигурации, специфичной для перечислителя, при запуске формы
  4. Переноса данных из родительской формы в дочернюю в связанных рабочих процессах
  5. Хранения значения, полученного из параметров URL при открытии формы через веб-ссылку

Установка значения по умолчанию

Наиболее распространённый шаблон — использование hidden с выражением default, чтобы значение устанавливалось при открытии формы:

typenamedefault
hiddendeployment_code‘ZONE_A_2024’
hiddenform_version‘3.1’

Ссылка на скрытое поле в вычислениях

Скрытые значения можно использовать в ссылках, как и любое другое поле, через ${fieldname}:

typenamelabelcalculation
hiddenzone_code
calculatelabel_prefixconcat(’[’, ${zone_code}, ‘] ‘)
noteintro${label_prefix} Добро пожаловать в опрос домохозяйства

Использование hidden с предзаполнением / параметрами URL

При запуске веб-формы по URL можно передавать параметры, заполняющие скрытые поля. Это позволяет предварительно загружать ID домохозяйства или код задачи без необходимости их ввода перечислителем:

  https://your-server.com/form/FORMID?household_id=H00123&zone_code=NORTH
  

Поле с именем household_id будет автоматически заполнено значением H00123.

Лучшие практики

  1. Используйте hidden (не calculate), когда значение вводится извне и не должно пересчитываться.
  2. Используйте calculate, когда значение выводится из других полей формы.
  3. Всегда устанавливайте default, если скрытое поле должно иметь значение — скрытое поле без значения по умолчанию будет пустым.
  4. Давайте скрытым полям понятные имена (например, добавляйте префикс _hidden_ или используйте согласованное соглашение об именовании).

Ограничения

  • Скрытые поля включаются в экспортированные данные, как и любое другое поле.
  • Они не могут отображаться условно — они всегда присутствуют (но невидимы).
  • Если нужно поле, которое вычисляется динамически, используйте calculate.
Была ли эта страница полезной?