Функция Экзамен превращает опрос в викторину с таймером. Счётчик обратного отсчёта отображается респонденту, а опрос записывает оставшееся время при завершении. При желании можно воспроизводить звуки для правильных и неправильных ответов.

Это полезно для оценки знаний, тестов грамотности, проверки компетентности полевого персонала и любых опросов, где время выполнения является значимыми данными.


Функция check-exam()

Настройте экзамен с помощью check-exam() в столбце calculation поля calculate, размещённого в начале формы:

  check-exam(examTime, questionToStoreRemainingTime)
check-exam(examTime, questionToStoreRemainingTime, rightSound, wrongSound, excludeQuestion)
  

Параметры

#ПараметрОписание
1examTimeОбщая продолжительность экзамена в секундах
2questionToStoreRemainingTimename поля calculate или integer, в котором будет храниться оставшееся время
3rightSound(Необязательно) Имя аудиофайла для воспроизведения при правильном ответе
4wrongSound(Необязательно) Имя аудиофайла для воспроизведения при неправильном ответе
5excludeQuestion(Необязательно) Список имён полей через запятую для исключения из таймера экзамена

Базовая настройка

Шаг 1: Добавление полей экзамена

typenamelabelcalculation
calculateexam_configcheck-exam(600, 'remaining_time')
calculateremaining_time

exam_config запускает 600-секундный (10-минутный) таймер. remaining_time заполняется автоматически при завершении.

Шаг 2: Добавление вопросов

Таймер экзамена охватывает все вопросы формы, кроме перечисленных в excludeQuestion.

typenamelabel
select_one yesnoq1Столица Кении — Найроби. Правда или ложь?
select_one choicesq2Какой орган перекачивает кровь?
select_one choicesq3Вода кипит при 100°C на уровне моря. Правда или ложь?

Шаг 3: Хранение оставшегося времени

Поле, указанное в параметре 2 (remaining_time), автоматически устанавливается на количество секунд, оставшихся при отправке. Значение 0 означает, что время истекло; высокое значение означает быстрое завершение.


С аудиообратной связью

Прикрепите звуковые файлы к форме (как медиавложения), затем укажите их:

typenamelabelcalculation
calculateexam_configcheck-exam(300, 'remaining_time', 'correct.mp3', 'wrong.mp3')
  • correct.mp3 воспроизводится при выборе правильного ответа
  • wrong.mp3 воспроизводится при выборе неправильного ответа

Исключение вопросов из таймера

Передайте список имён полей через запятую для исключения из экзамена (например, вводные заметки или вопросы о согласии):

  check-exam(300, 'remaining_time', '', '', 'intro_note,consent_ack,section_header')
  

Оставьте rightSound и wrongSound как пустые строки '', если аудио не нужно, но нужны исключения.


Полный пример

typenamelabelcalculation
noteintroДобро пожаловать на оценку знаний в области здравоохранения. У вас есть 5 минут на ответы.
triggerstart_ackНажмите OK, когда будете готовы начать.
calculateexam_configcheck-exam(300, 'remaining_time', 'correct.mp3', 'wrong.mp3', 'intro,start_ack')
calculateremaining_time
select_one yesnoq1Мытьё рук предотвращает распространение болезней.
select_one yesnoq2Нужно пить не менее 2 литров воды в день.
select_one yesnoq3Малярия вызывается вирусом.

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

  1. Всегда информируйте респондентов об ограничении по времени перед началом — используйте note или trigger перед полем check-exam().
  2. Исключайте вводные заметки и вопросы о согласии из таймера с помощью параметра excludeQuestion.
  3. Используйте remaining_time в последующем вычислении для обнаружения тайм-аутов: if(${remaining_time} = 0, 'Время истекло', 'Завершено').
  4. Пропорционируйте количество вопросов и отведённое время — 2–3 минуты на вопрос является разумной базой для большинства оценок знаний.
  5. Тестируйте с аудиофайлами на реальном устройстве перед развёртыванием — воспроизведение аудио варьируется в разных версиях Android и браузерах.

Ограничения

  • Таймер только отображается — форма не отправляется автоматически по истечении времени; респондент должен отправить её вручную.
  • Для аудиообратной связи требуется включённый (не отключённый) звук на устройстве.
  • Функция экзамена является расширением rtSurvey и не является частью стандартной спецификации XLSForm.
Была ли эта страница полезной?