问题标签 [odk-xform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
311 浏览

android - 在 ODK Collect 的多项选择题中包括字符串搜索

该问题基于在 Android 平台上使用 ODK Collect:

我正在处理选择来自 .csv 文件的选择题类型。到目前为止,它是一个标准的 ODK 程序,但是,由于 .csv 中有大量选项,我想在问题中包含一个字符串搜索选项。字符串搜索是为了减少参与者必须经过的选择次数,因此需要多次执行搜索。 解决此问题的最佳方法是什么?

到目前为止我的想法:使用 ODK 收集源代码将字符串搜索选项“注入”到相应的活动窗口中。

0 投票
1 回答
527 浏览

xforms - 如何正确编写 XForm 的计算表达式

我正在使用 ODK Build 创建一个表单。我相信我的绑定语法有问题。在 Build 中,您只需在输入框中输入表达式(如下):

在此处输入图像描述

我已输入:${volume_environmental_sample_meters}*1000

当我导出到 xml 时,它看起来像以下代码:

但是当我验证它时出错并说:

org.javarosa.xform.parse.XFormParseException:对附加到“/data/volume_environmental_sample_liters”的绑定的计算无效:无法理解从此时开始的表达式:?${volume_enviro... in expression ${volume_environmental_sample_meters}*1000

0 投票
1 回答
698 浏览

odk - 根据选择的答案计算和更新分数

我是 ODK 和 XLSForms 的新手。

我有几个问题,根据答案,我需要计算一个分数。

我有 17 个问题,每次有人回答是,我需要在一个整数字段中添加 2 分。

所以我有:

这是分数字段:

这是我工作中的第一个任务,无法根据所选答案计算和更改值。

编辑

我添加了一个计算表达式,但不知道如何得到结果,因为它不起作用:

因此,如果问题 8、9 或 11 的回答为“是”,则在当前值上加 2 分,但该字段根本没有出现。如果第 10、12、13 和 14 题的回答为“是”,则仍需加分,每题加 1 分。

0 投票
0 回答
549 浏览

android - 从 ODK xlsform 中的多项选择中排除一个值

我正在尝试从 xlsform 中的多项选择中排除一个值。如果我们使用农业的类比想象:

我有一个问题,问农民种什么作物。列表名称“crops”中可用的多选选项包括:

受访者选择前三个。后一个问题询问农民一起种植哪些作物(间作,即在同一田地/空间种植两个毛皮)。我在列表名称 inter_crops 上使用了choice_filter "selected(${crops},crops)",生成的多选显示:

到目前为止一切都很好。

那我想知道哪些农作物和哪些间作。因此,我对种植的每种作物都有后续问题,例如:

哪些作物与...香蕉间作?(等等等等)

我可以在这里使用相同的选择过滤器,但这意味着多选仍然可以选择香蕉。用“香蕉”(即香蕉与香蕉间作)来回答上述问题是没有意义的。

那么如何在询问香蕉时排除香蕉作为选项,在询问苹果时排除苹果等,而不必为每个问题提供特定列表?

更新

回答了我自己的问题。我只需要在choice_filter 中添加一个“and not”语句。所以现在是这样写的:

选择(${crops},crops) 而不是 (crops='bananas')

0 投票
1 回答
234 浏览

odk-xform - ODK xlsform 设计,根据之前的 yes_no 响应计算下一个标签值

我正在使用 xlsform for ODK 进行调查问卷。我被困在哪里:我有这样的问题: 21. 如果提供的服务是 100 美元,你愿意为这项服务付费吗?答案可以是“是”“否”或“不知道” 。如果被访者回答“是”,下一个问题需要在之前的 100 美元基础上增加 20美元,所以现在的问题应该是: 21. 如果提供的服务是120 美元,您是否愿意为服务付费?这应该一直持续到答辩人说“否”为止。如何使用 xlsform 设计来实现这一点?

0 投票
0 回答
320 浏览

xforms - ODK XForms format-date Hour and Minute 输出为 0000

我正在尝试使用从调查开始时为 RecorderID - ClusterID - MonthDataHourMinute 输入的值创建一个计算变量。现在我得到了除了小时和分钟之外的所有东西,所以我认为我的小时和分钟格式是错误的。有任何想法吗?

格式-日期(/data/StartTime,'%m%d%H%M')

谢谢!亚历克斯

0 投票
1 回答
138 浏览

opendata - 我们可以将 Web 应用程序连接到 ONA ODK 表单吗?

我们可以将 Web 应用程序连接到 ONA ODK 表单吗?

我需要更换一个系统,让员工去现场,收集信息,然后在他们回来时同步到数据库。

我们需要找到一个解决方案,通过创建odk调查,让员工收集数据,然后直接同步到ona和mysql数据库。我需要让他们能够直接从表单读取和编辑数据到数据库中。

我知道这个想法有点奇怪。

0 投票
4 回答
519 浏览

xforms - XForms 是如何使用的?

我最近偶然发现了 XForms(W3C 1.1ODK XForms),我很难了解它们是如何使用的(如果它们仍在使用的话)。

SO标签页说:

XForms 是一种 XML 格式,它为 XML 数据指定数据处理模型和用户界面。例如。网络表格。

现在我查看了 W3C 示例,但没有看到任何类型的用户界面。它只是在那里显示的 XML。

我所做的

当我想在 Web 中创建一个表单时,我必须从侧面着手:前端和后端。前端要么直接使用<form> / <input> /HTML 元素和 CSS 编写样式,要么使用flask-wtf 之类的包生成这些元素。

后端侦听 GET / POST HTTP 请求以接收表单。

问题

我有很多初学者的问题。我的主要问题是如何使用 XForms?. 一个最小的 Python 示例对我来说最有价值。也许像注册表这样简单的东西:用户名字段、密码字段和密码确认字段可以显示这一点。

我会像这样创建 HTML:

使用Flask,后端可能如下所示:

使用 XForms 会怎样?XForms 的典型用例到底在哪里?它们有什么可比性?XForms 是否只在 Java 中使用?(我见过 Python 包,但从未听说过)

0 投票
1 回答
98 浏览

xml - 将 XML 导出到 ODK 聚合服务器的自定义表单生成器

我有一个具有预定义问题集的 Web 应用程序,如下图所示。用户应该选择他想要的问题的子集,然后单击“导出评估”。应该创建一个 XML,该 XML 将被导入 ODK Aggregate 服务器,然后该服务器成为该字段中的用户可以使用 ODK collect 获取的表单。 在此处输入图像描述

到目前为止,当用户单击导出时,我只能设法创建如下所示的 json。有人可以指出一种更简单的方法来结束 ODK XForm。

0 投票
0 回答
37 浏览

odk - 如何在 external_choices 中动态加载 json 数据

社区。我是 ODK 表单的新手。我只想问如何在运行时动态加载 JSON 数据或任何其他方式而不是 JSON,在我的 external_choices 中。示例:我想根据 District_id 加载数据。我的一个区有2000个村,我州有40个区。在 external_choices 中喂养 40*2000=80000 个村庄并在运行时加载它非常消耗内存。因此,在我的情况下,我只想在查询参数中传递 District_id,属于该地区的村庄将从 JSON 中获取并加载到 external_choices 中。任何人都可以帮助我如何实现它?