文本和数字

您可以在调查中包含文本、整数和小数问题,以便用户输入文本和数字答案。

文本问题允许在调查中自由输入文本响应。 默认情况下,表单会显示一个单行输入文本框。 文本超出文本框大小时,其大小保持不变,可水平滚动而不换行。 此为简短问题的理想之选。 若要强制文本输入遵循特定格式,您可以应用输入掩膜。 您也可以应用正则表达式来限制文本字段,自动拒绝不符合特定格式(如电子邮件地址或网站 URL)的响应。

整数和小数问题类型会将用户输入限制为适用的数值。 对于这些问题类型,您可以在 constraint 列中指定最小值和最大值,以防止用户提交调查,除非答案在给定范围内。

您可以通过设置外观来更改这些问题类型的行为及其呈现方式。 要确认哪些提交应用程序支持特定外观,请参阅外观。

文本外观

注:

在 Survey123 Mobile 中,文本问题仅支持 multiline 外观。

在 Survey123 Web 应用程序中,不支持 predictivetext 和 nopredictivetext 外观。

通过将 appearance 列设置为 multiline,文本问题将呈现为多行文本框。 此较大的文本框适用于长答案。 它会在输入时自动换行,并接受回车符。

注:

对于在 Survey123 外业应用程序中使用的表单,您可以通过在 body::esri:style 列中设置 defaultHeight 参数来设置多行文本框的默认高度。 例如,在 body::esri:style 列中输入 defaultHeight=5 将在打开调查时在多行文本框中显示五行内容。 如果未设置,则多行文本框将在打开调查时显示 3 行。

通过将外观设置为 predictivetext 或 nopredictivetext,移动设备上的文本问题将相应强制启用或禁用预测文本。 默认情况下,Android 对文本问题禁用预测文本,这可能会在某些键盘上禁用语音转文本功能。 将 predictivetext 外观应用于文本问题可启用该问题的语音转文字功能。 iOS 上默认启用预测文本。

将外观设置为 geocode 后,文本问题可用于搜索并提交地理编码地址。

外观还可用于获取 InfraMarker 标签 ID 和从测距仪获取值。

搜索并提交地理编码地址

注:

本部分将介绍仅在 Survey123 外业应用程序中可用的功能。此功能在 Survey123 Mobile 中不可用。

将 appearance 列设置为 geocode 后,文本问题可用于搜索并提交地理编码地址。 当用户开始输入地址时,会显示一系列自动完成选项,这些选项将根据其组织可用的默认定位器建议位置。 如果用户未登录,则将使用 ArcGIS World Geocoder。 Geocode 外观需要 Internet 连接,并且在离线环境中不起作用。

最终所选地址将作为字符串发送至要素图层;但是,完整的地理编码数据在发送之前将临时存储为 JSON 对象,由此允许将各个属性提取到其他字段中。

要从 JSON 对象中提取特定属性,请在另一个问题的 calculation 列中使用 pulldata("@json") 函数。

pulldata("@json", ${address}, "location.x")

pulldata("@json", ${address}, "searchCandidate")

通过不定义单个属性,可以在单个文本字段中返回整个 JSON 对象。

pulldata("@json", ${address})

有关 pulldata("@json") 函数的详细信息,请参阅从 JSON 中检索值。

注:
使用 ArcGIS World Geocoding Service 进行地理编码将消耗配额。 有关详细信息,请参阅了解配额。

要设置返回结果的特定定位器,请在 bind::esri:parameters 列中提供定位器的项目 ID,例如 geocode=36ff9e8c13e042a58cfce4ad87f55d19。 ArcGIS Online 调查中使用的定位器必须是 ArcGIS Online 中的项目。 ArcGIS Enterprise 调查中使用的定位器项目必须与调查同属一个门户。

可用属性将会有所不同,具体取决于所使用的定位器。 对此的例外是 searchText 属性,无论使用何种定位器,该属性均可用,并将返回用于搜索地址的确切字符串,或者从结果列表中选择的选项。

可以通过在 body::esri:style 列中设置以下参数之一来进一步控制 geocode 外观问题的呈现:

注:

Survey123 web 应用程序不支持 indicator、proximity、maxResults 和 suggestions 参数。

  • indicator - 允许地理编码结果显示与当前设备位置的方向和距离。 此参数可设置为 distance、direction(两者用逗号分隔)或 none。 默认情况下,此参数设置为仅显示距离。
  • proximity - 控制地理编码结果是否仅显示设备位置特定半径内的结果。 此参数接受一个数值,后跟以下任何标准单位:m(米)、km(公里)、ft(英尺)、mi(英里)或 yd(码)。 如果未提供单位,则其默认为米。 如果设置为 0,则搜索结果中将不考虑邻域。 默认情况下,此参数设置为 on,由此允许按邻域对建议进行排序,而不会因距离而过滤掉任何位置。
  • maxResults - 控制所提供的最大结果数;例如,maxResults=10 将返回最多 10 个可能的结果。 默认情况下,此参数设置为最多显示 6 个结果。
  • suggestions - 这充当 ArcGIS REST API 中 suggest 操作的接口。 当此参数设置为 yes 时,将由 suggest 操作填充潜在位置的下拉列表。 此参数设置为 no,或地理编码服务不支持 suggest 操作时,将由 findAddressCandidates 操作填充潜在位置列表。 默认情况下,此参数设置为 yes。

获取 InfraMarker 标签 ID

注:

本部分将介绍仅在 Survey123 外业应用程序中可用的功能。此功能在 Survey123 Mobile 中不可用。

使用下面描述的外观从 InfraMarker RFID 标签读取数据或向其写入数据。

通过将文本问题的 appearance 列设置为 inframarker,您可以定义要写入标签的信息。 此信息可以包括 assetOwner、assetName、latitude 和 longitude,并且值可以从调查中的其他问题派生。 例如,calculation 列中的以下表达式会将 asset_name、asset_owner、lat 和 long 问题的答案写入标签:

concat("assetName=", ${asset_name}, "&assetOwner=", ${asset_owner}, "&latitude=", ${lat}, "&longitude=", ${long})

通过将同一调查中另一个文本问题的外观设置为 getinframarkerid,可以检索唯一的 24 字符 InfraMarker 标签 ID 并将其存储在调查中。

有关详细信息,请参阅 InfraMarker 文档。

从测距仪获取值

注:

本部分将介绍仅在 Survey123 外业应用程序中可用的功能。此功能在 Survey123 Mobile 中不可用。

将 appearance 列设置为 rangefinder 时,文本问题可接受完整的 JSON 对象或从测距仪返回的指定值。 当用于接受完整的 JSON 对象时,应将此问题的 bind::esri:fieldLength 设置为 1000,确保适合完整值。

当您为整数或小数问题设置 rangefinder 外观时,它可以接受从测距仪返回的特定值。 使用 bind::esri:parameters 列中的以下值之一指定要存储的测量值:height、azimuth、horizontalDistance、slopeDistance 或 inclination。 例如,measurement=height 将仅存储从测距仪返回的高度值。

整数外观

注:

在 Survey123 Mobile 中,整数问题仅支持 spinner 外观。

在 Survey123 Web 应用程序中,不支持这些整数外观。

将 appearance 列设置为 spinner 后,整数问题将显示有按钮,用于将值递增或递减 1。 选择此按钮将重复此过程,直到松开按钮为止。

将外观设置为 numbers 后,突出显示的整数问题将附带一个自定义数字键盘,您可使用该键盘输入值。 键盘还包括将值设置为正数或负数的按钮。

外业应用程序中整数问题的 numbers 外观

将外观设置为 calculator 后,突出显示的整数问题将附带一个自定义计算器键盘,您可使用该键盘输入和修改值。

外业应用程序中整数问题的 calculator 外观

将外观设置为 distress 后,整数问题将显示为彩色量表形式。 彩色量表是一个含有 10 个刻度的量表,用于测量诸如压力、疼痛和幸福等情感。

外业应用程序中整数问题的 distress 外观

小数外观

注:

在 Survey123 Mobile 中,小数问题仅支持 spinner 外观。

在 Survey123 Web 应用程序中,不支持这些小数外观。

将 appearance 列设置为 spinner 后,小数问题将显示有按钮,用于将值的最后一位数字递增或递减 1。 选择一个按钮将重复此过程,直到松开按钮为止。

外业应用程序中小数问题的 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,小数问题的答案将显示千位分隔符。 这不会影响作为调查响应的一部分发送的值,而仅影响其在应用程序中的显示。 分隔符取决于设备的区域设置,仅当从草稿箱、发件箱、收件箱或已发送文件夹中打开调查或当响应由默认值或计算结果填充时,才会应用分隔符。 手动输入值时,将不会显示千位分隔符。

外业应用程序中小数问题的 thousands-sep 外观