Перейти к основному содержимому

Свойства и функции вопроса

Получить доступ к вопросу можно различными методами. Например используя глобальные переменные Q1, Q2 и т.д., или используя объект questions, или просто используя параметр Q, который передается в скрипты перед показом и после ответа на вопрос. Полученный объект содержит различные переменные и функции.

note

Помимо перечисленных здесь методов и свойств, через вопрос доступны методы и свойства списка ответов. Например, Q.show(5) равнозначно вызову Q.answers.show(5)

number

Содержит номер вопроса. Только для чтения.

type

Тип вопроса (тип ответа на вопрос). Только для чтения. Содержит число от 1 до 21, которое соответствует одному из вопросов:

  1. Информация.
  2. Текстовый.
  3. Числовой.
  4. Единственный выбор.
  5. Множественный выбор.
  6. Таблица: текст.
  7. Таблица: числа.
  8. Таблица: единственный выбор.
  9. Таблица: множественный выбор.
  10. Выпадающий список: единственный выбор.
  11. Впадающий список: множественный выбор.
  12. Приветствие.
  13. Ранжирование.
  14. Рейтинг.
  15. Таблица: рейтинг.
  16. Клик-тест: текстовый.
  17. Шкала максимального различия.
  18. Телефон.
  19. Email.
  20. Слайдер.
  21. Дата и время.

Вместо чисел можно использовать объект QuestionTypeIds со следующими свойствами:

  • WelcomeScreen - приветствие,
  • Information - информация,
  • Text - текстовый,
  • Phone - телефон,
  • Email - email,
  • DateTime - дата и время,
  • Numeric - числовой,
  • SingleChoice - единственный выбор,
  • MultipleChoice - множественный выбор,
  • Dropdown_SingleChoice - выпадающий список: единственный выбор,
  • Dropdown_MultipleChoice - выпадающий список: множественный выбор,
  • Ranking - ранжирование,
  • Rating - рейтинг,
  • Slider - слайдер,
  • ClickTest_Text - клик-тест: текстовый,
  • Table_Text - таблица: текст,
  • Table_Numeric - таблица: числа,
  • Table_SingleChoice - таблица: единственный выбор,
  • Table_MultipleChoice - таблица: множественный выбор,
  • Table_Rating - таблица: рейтинг,
  • MaxDiff - шкала максимального различия.

Примеры использования:

if (Q.type == 4 || Q.type == QuestionTypeIds.MultipleChoice) {
// Что-то сделать
}

text

Текст вопроса. Допускается использование html-разметки.

Q.text = 'На <u>прошлой неделе</u> ' + Q.text;

plainText

Текст вопроса, очищенный от html-разметки. Только для чтения.

Q.text = 'На <u>прошлой неделе</u> ' + Q.text;
Q.text = Q.plainText;

comment

Комментарий для вопроса. Допускается использование html-разметки.

plainComment

Комментарий вопроса, очищенный от html-разметки. Только для чтения.

condition

Условие показа вопроса.

flags

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

  • None
    Нет флагов.
  • RandomizeAnswers
    Рандомизация вариантов ответа перед показом.
  • RotateAnswers
    Ротация вариантов ответа перед показом.
  • AllowFractionalNumbers
    Разрешить ввод дробных чисел.
  • VerticalTextInColumnHeaders
    Вертикальный текст в заголовках колонок табличного вопроса.
  • SwapRowsAndColumns
    Перевернуть таблицу.
  • CustomValidation
    Не требовать обязательного ответа на вопрос (проверка ответа скриптами).
  • UseDatePicker
    Для открытого текстового значения использовать выбор даты.
  • UseTimePicker
    Для открытого текстового значения использовать выбор времени.
  • EnableGPS
    Включить запись GPS-координат.
  • EnableGeoCoder
    Включить определения адреса по GPS-координатам.
  • EnableAudioRecording
    Включить запись звука.
  • DisableAudioRecording
    Отключить запись звука.
  • ForceSilentAudioRecording
    Не отображать индикатор записи звука (скрытая запись).
  • EnableSignatureAttachment
    Включить возможность добавления подписи к ответу на вопрос (планшеты).
  • AllowEmptySignature
    Не требовать обязательного добавления подписи (планшеты).
  • AutoSubmitSingleChoice
    Автопереход далее при выборе единственного ответа.
  • HideGoFirstButton
    Скрыть кнопку "Начало".
  • HideGoBackButton
    Скрыть кнопку "Назад".
  • HideInterruptButton
    Скрыть кнопку "Завершить".
  • ShowAutoAnswerProgress
    Показать таймер автоответа.
  • EnableFileAttachments
    Разрешить добавление вложений к ответу на вопрос.
  • SkipExport
    Исключить вопрос при выгрузке.
  • KeepExportOV
    Оставить выгрузку открытых значений. при исключении выгрузки вопроса.
  • ExportInAlternativeFlagsMode
    Выгружать в альтернативном режиме (для множественного выбора).
  • ExportInCategoricalMode
    Выгружать в категориальном режиме.
caution

Флаги, влияющие на структуру массива, следует включать/выключать в скрипте Подготовка. Если включить, например, флаг Исключить вопрос при выгрузке в скрипте перед показом, то в массиве вопрос всё равно будет. Примеры использования:

// Включить рандомизацию и скрыть кнопку "Начало"
Q.flags |= QuestionFlags.RandomizeAnswers | QuestionFlags.HideGoFirstButton;

minAnswerCount

Минимальное количество ответов, которые надо выбрать (для вопросов с множественным выбором).

maxAnswerCount

Максимальное количество ответов, которые можно выбрать (для вопросов с множественным выбором).

columnCount

Количество колонок (используется при отображении вопросов с единственным или множественным выбором). Не используется в табличных вопросах.

textLineCount

Количество строк для вопросов с типом ответа Текстовый.

openValueNum

Открытое числовое значение для вопросов с типом ответа Числовой и Рейтинг. Поддерживает целые и дробные числа.

variables['num'] = Q.openValueNum;
Q.openValueNum = 2.5;

openValueInt

Открытое числовое значение, приведенное к целому числу, для вопросов с типом ответа Числовой и Рейтинг.

openValueTxt

Открытое текстовое значение для вопросов с типом ответа Текстовый.

variables['txt'] = Q.openValueTxt;
Q.openValueTxt = 'Сложно сказать';

isAnswered

Возвращает true, если вопрос считается отвеченным (содержит ответ, который достаточен для перехода на следующий вопрос).

outputColumnTemplate

Шаблон имени переменной для вопроса при выгрузке. Подробнее тут.

outputColumnTemplateOVN

Шаблон имени переменной для открытых числовых значений при выгрузке. Подробнее тут.

outputColumnTemplateOVT

Шаблон имени переменной для открытых текстовых значений при выгрузке. Подробнее тут.

answer

Быстрый доступ к полям ответа для вопросов с числовым или текстовым типом ответа. Например:

var text = Q34.answer.openValueTxt;
var num = Q35.answer.openValueNum;

answers

Доступ к вариантам ответа для вопросов с единственным или множественным выбором. Например:

if (Q37.answers[5].checked) {
// …
}
// также допускается более короткая форма обращения
if (Q37[5].checked) {
// …
}

rows

Доступ к строкам для табличных вопросов. Например:

if (Q38.rows[5].getCheckedCodes() > 1) {
// …
}

columns

Доступ к колонкам (вариантам ответа) для табличных вопросов. Например:

Q38.columns[2].text = 'Лента';

categoricalIndexes

Список псевдонимов, применяемых вместо порядкового номера ответа, используемых при формировании имени переменной при выгрузке вопросов с множественным выбором в категориальном режиме. Подробнее тут.

reset()

Сброс всех ответов в изначальное состояние (сбрасывается checked и открытые значения openValueNum/openValueTxt, а также visible становится true у всех вариантов ответов, а также у строк и колонок табличных вопросов).

image

Содержит изображение вопроса, а также позволяет добавить в вопрос изображение из объекта images. Примеры:

Q.image = images['Логотип'];
Q.image = Q34.image;

imageUrl

Содержит URL изображения, а также позволяет добавить в вопрос изображение с внешнего сервера по прямой ссылке. Приоритет этого свойства выше свойства image, то есть если они заданы оба, то выполнится только imageUrl. Пример:

if (!Q.imageUrl.length) {
Q.imageUrl = 'https://www.survey-studio.com/content/images/ss2_logo_74x74.png';
}

imagePlacement

Содержит код расположения изображения относительно текста, а также позволяет задать расположение картинки. Принимает свойства объекта ImagePlacementIds:

  • Default - значение по умолчанию. Расположение задаётся настройками сервера.
  • Before - над текстом.
  • After - под текстом.
  • Left - слева от текста.
  • Right - справа от текста.
Q.imagePlacement = ImagePlacementIds.Right;

allowedAttachmentsType

Тип вложения, которое можно прикрепить к вопросу (если включён соответствующий флаг. Принимает свойства объекта AttachmentTypeIds:

  • Image - изображение,
  • Document - документ,
  • Any - любой поддерживаемый.

Пример:

Q.allowedAttachmentsType = AttachmentTypeIds.Image;

minAttachmentsCount
maxAttachmentsCount

Минимальное и максимальное количество файлов, которые нужно прикрепить к вопросу:

  • min = undefined, max = undefined - требуется 1 файл
  • min = x, max = undefined - требуется x
  • min = undefined, max = y - требуется от 0 до y
  • min = x, max = y - требуется от x до y

attachmentsCount

Содержит количество прикреплённых к вопросу файлов. Только для чтения.

latitude
longitude

Широта и долгота, определённые по GPS, места, где показан вопрос. Только для чтения.

address

Адрес, определённый по GPS-координатам, места, где показан вопрос. Только для чтения.

autoAnswerSec

Время в секундах, через которое нужно автоматически нажать кнопку Далее — ограничить время отображения вопроса на экране. При этом не в информационном вопросе должен быть включён флаг Не требовать обязательного ответа на вопрос (проверка ответа скриптами) либо указан код ответа (для вопросов с выбором).

autoAnswerCode

Код ответа, который нужно выбрать автоматически в вопросе с выбором, если включён автоответ (см. выше).

answerNumberFrom

Минимальное значение, которое требуется ввести в числовом вопросе.

answerNumberTo

Максимальное значение, которое требуется ввести в числовом вопросе, а в вопросе Рейтинг — максимальная оценка.

icon

Иконка вопроса Рейтинг. Принимает свойства объекта IconType:

  • Star — звезда,
  • Smile — смайл,
  • Heart — сердце,
  • ThumbsUp — палец вверх (отлично).

Пример:

Q1.icon = IconType.Smile;