В опросы можно включать вопросы, требующие ввода текста, целых и десятичных чисел, чтобы пользователи могли вводить текстовые и числовые ответы.
В текстовых вопросах допускается свободный текстовый ответ в опросе. По умолчанию форма отображает текстовое окно с одной строкой ввода. Если текст превышает размер текстового поля, он прокручивается по горизонтали без разрывов строк, не изменяясь в размере. Это идеально подходит для коротких ответов. Чтобы текстовый ввод соответствовал определённому формату, можно применить маску ввода. Также можно использовать регулярное выражение, чтобы ограничить текстовое поле и автоматически отклонять ответы, не соответствующие определенному формату, например, адресу электронной почты или URL-адресу веб-сайта.
В вопросах с целыми и десятичными числами пользователь может вводить только допустимые числовые значения. В столбце ограничение для этих типов вопросов можно задать минимальное и максимальное значения, чтобы предотвратить отправку пользователем опроса, если ответ не находится в заданном диапазоне.
Вы можете изменить поведение этих типов вопросов и способ их отображения, настроив оформление. Чтобы уточнить, какие приложения для отправки поддерживают определенное оформление, см. раздел Оформление.
Оформление текста
Примечание:
В Survey123 Mobile поддерживается только multiline оформление текстовых вопросов.
В веб-приложении Survey123 оформления predictivetext и nopredictivetext не поддерживаются.
Выбрав для столбца оформление multiline, вы отобразите текстовый вопрос в виде нескольких строк текста. Это большее текстовое окно идеально для длинных ответов. Оно переносит текст на новую строку по мере его ввода и поддерживает символы перевода строки.
Примечание:
Для форм, используемых в полевом приложении Survey123, вы можете задать высоту по умолчанию для многострочного текстового поля, задав параметр defaultHeight в столбце body::esri:style. Например, указав defaultHeight=5 в столбце body::esri:style при открытом опросе отобразит в многострочном текстовом поле пять строк. Если это не задано, при открытом опросе многострочное текстовое поле будет показываться в три строки.
При выбранном оформлении predictivetext или nopredictivetext соответственно, задается включение или выключение интеллектуального ввода текста на мобильных устройствах для текстового вопроса. По умолчанию в Android интеллектуальный ввод текста отключен для текстовых вопросов по умолчанию, что может отключить функцию преобразования речи в текст на некоторых клавиатурах. Примените оформление predictivetext к текстовому вопросу, чтобы включить для него преобразования речи в текст. Интеллектуальный ввод текста по умолчанию включен в iOS.
Если установить для оформления geocode, текстовый вопрос будет использоваться для поиска и отправки геокодированных адресов.
Также доступно оформление для получения ID тега InfraMarker и получения значения с дальномера.
Поиск и отправка геокодированного адреса
Примечание:
В этом разделе описывается функциональность, доступная только в и полевых приложениях Survey123. Эта функциональность недоступна в Survey123 Mobile.
Если установить для оформления значение geocode, текстовый вопрос будет использоваться для поиска и отправки геокодированных адресов. Когда пользователи начинают набирать адрес и появляются несколько вариантов автозаполнения, предлагающих местоположения на основе локаторов, доступных по умолчанию для вашей организации. Если пользователь не выполнил вход, будет использоваться ArcGIS World Geocoder. Оформление geocode требует наличия подключения к интернету и не будет работать в автономной среде.
Окончательно выбранные адреса будут отправлены в векторный слой в виде строки, однако полные геокодированные данные временно хранятся в объекте JSON перед отправкой, позволяя извлечение отдельных свойств в другие поля.
Чтобы извлечь определенные свойства из объекта JSON, используйте функцию pulldata("@json") в столбце вычисление другого вопроса.
pulldata("@json", ${address}, "location.x")
pulldata("@json", ${address}, "searchCandidate")
Весь объект JSON может быть возвращен в одно текстовое поле, если просто не задавать отдельное свойство.
pulldata("@json", ${address})
Подробнее о функции pulldata("@json") см. Получение значения из JSON.
Примечание:
Операция геокодирования с помощью ArcGIS World Geocoding Service будет потреблять кредиты. Более подробную информацию см. в разделе Понятие кредитов.Чтобы задать определенный локатор для получения результата, введите ID элемента локатора в столбец bind::esri:parameters, например, geocode=36ff9e8c13e042a58cfce4ad87f55d19. Локатор, используемый в опросе ArcGIS Online, должен быть элементом в ArcGIS Online. Локатор, используемый в опросе ArcGIS Enterprise, должен быть элементом того же портала, что и опрос.
Доступные свойства будут различаться в зависимости от используемого локатора. Исключением является свойство searchText, которое доступно независимо от используемого локатора, и возвращает либо точную строку, используемую для поиска адреса, либо вариант, выбранный из списка результатов.
Вы можете далее управлять представлением вопроса geocode, задавая один из следующих параметров в столбце body::esri:style:
Примечание:
Параметры indicator, proximity, maxResults и suggestions не поддерживаются веб-приложением Survey123.
- indicator - Позволяет отображать в результатах геокодирования направление и расстояние от текущего расположения устройства. Этот параметр можно задать как distance, direction, оба значения, разделенные запятой, или none. По умолчанию в этом параметре будет содержаться только расстояние.
- proximity - определяет, будут ли результаты геокодирования показывать только результаты, находящиеся в пределах определенного радиуса от местоположения устройства. Этот параметр поддерживает числовые значения со следующими стандартными единицами: m (метры), km (километры), ft (футы), mi (мили) или yd (ярды). Если единицы не заданы, по умолчанию будут выбраны метры. Если значение равно 0, ближайших мест в результатах поиска не будет. По умолчанию для этого параметра задано on, что позволяет сортировать ближайшие предложенные варианты, не отфильтровывая какие-либо местоположения из-за расстояния.
- maxResults — управляет максимальным количеством предоставляемых результатов, например, значение maxResults=10 вернет максимум 10 возможных результатов. По умолчанию этот параметр настроен на отображение максимум 6 результатов.
- suggestions - это работает как интерфейс для операции suggest в ArcGIS REST API. Если для этого параметра задано значение yes, ниспадающий список потенциальных местоположений заполняется операцией suggest. Если для этого параметра задано значение no или сервис геокодирования не поддерживает операцию suggest, список потенциальных местоположений заполняется операцией findAddressCandidates. По умолчанию для этого параметра задано yes.
Получение ID тега InfraMarker
Примечание:
В этом разделе описывается функциональность, доступная только в и полевых приложениях Survey123. Эта функциональность недоступна в Survey123 Mobile.
Используйте описанные ниже оформления для чтения или записи данных в тег InfraMarker RFID.
Установив в столбце оформление текстового вопроса значение inframarker, можно задать информацию для записи в тег. Эта информация может содержать assetOwner, assetName, latitude и longitude, а значения могут быть получены из других вопросов в опросе. Например, следующее выражение в столбце вычисление запишет в тег ответы, полученные из вопросов asset_name, asset_owner, lat и long:
concat("assetName=", ${asset_name}, "&assetOwner=", ${asset_owner}, "&latitude=", ${lat}, "&longitude=", ${long})
Если установить для оформления ещё одного текстового вопроса значение getinframarkerid, будет получен уникальный идентификатор тега InfraMarker из 24 символов и сохранен в опросе.
Дополнительные сведения находятся в документации к InfraMarker.
Получение значения из дальномера
Примечание:
В этом разделе описывается функциональность, доступная только в и полевых приложениях Survey123. Эта функциональность недоступна в Survey123 Mobile.
Если установить в столбце оформление значение rangefinder, текстовый вопрос может принимать либо полный объект JSON, либо указанное значение, возвращаемое дальномером. Если требуется принять полный объект JSON, то в данном вопросе значение bind::esri:fieldLength должно быть установлено на 1000, чтобы гарантировать полное соответствие значения.
При настройке оформление rangefinder для вопроса типа целое число или десятичное число, он может поддерживать определенное значение, возвращаемое дальномером. Укажите, какое измерение следует сохранить, используя одно из следующих значений в столбце bind::esri:parameters: height, azimuth, horizontalDistance, slopeDistance или inclination. Например, measurement=height сохранит только значение высоты, возвращаемое дальномером.
Целочисленное оформление
Примечание:
В Survey123 Mobile поддерживается только оформление spinner целочисленных вопросов.
В веб-приложении Survey123 ни одно из целочисленных оформлений не поддерживается.
При задании в столбце оформление значения spinner вопрос типа целочисленный отобразится в виде кнопок для увеличения или уменьшения значения на единицу. При нажатии этой кнопки значения будут изменяться до тех пор, пока эта кнопка не будет отпущена.
Выбрав для оформления numbers, вы отобразите вопрос с целыми числами вместе с виртуальной клавиатурой для ввода значения. На клавиатуре будет также кнопка, позволяющая сделать значение положительным или отрицательным.

Выбрав для оформления calculator, вы отобразите вопрос типа "целое число" вместе с пользовательским калькулятором для ввода и изменения значения.

Выбрав оформление distress, вы отобразите вопрос "целое число" в виде шкалы дистресса. Шкала дистресса - это состоящая из десяти точек шкала, применяющаяся для определения чувств (стресс, боль, радость и т.д.).

Оформление "десятичное число"
Примечание:
В Survey123 Mobile поддерживается только оформление spinner для вопросов "десятичное число".
В веб-приложении Survey123 ни одно из десятичных оформлений не поддерживается.
При задании в столбце оформление значения spinner, вопрос типа "десятичное число" отобразится в виде кнопок для увеличения или уменьшения последнего разряда числа на единицу. При нажатии этой кнопки значения будут изменяться до тех пор, пока эта кнопка не будет отпущена.

При использовании значения по умолчанию для задания числа знаков после запятой для вопроса, вращатель будет использовать это значение. Ниже приводятся примеры работы spinner с разными десятичными значениями:
- 1.0 будет увеличиваться так: 1.1, 1.2, 1.3, 1.4
- 3.07 будет увеличиваться так: 3.08, 3.09, 3.10, 3.11
- 2.000000 будет увеличиваться так: 2.000001, 2.000002, 2.000003
Выбрав для оформления numbers, вы отобразите вопрос с дробными числами вместе с настраиваемой цифровой клавиатурой для ввода значения. На клавиатуре будет также кнопка, позволяющая сделать значение положительным или отрицательным.
Выбрав для оформления calculator, вы отобразите вопрос с дробными числами вместе с настраиваемым калькулятором для ввода и изменения значения.
При выборе для оформления thousands-sep, ответ на вопрос с дробными числами будет отображаться с разделителями тысяч. Это не влияет на значение, отправляемое как ответ, а используется только для отображения. Разделители задаются в локали устройства, и применяются только при открытии опроса из папок Черновики, Исходящие, Входящие или Отправленные, или когда ответ заполняется значением по умолчанию или с помощью вычисления. Разделители тысяч не отображаются при ручном вводе значения.
