Orbeon 表单 - 清除下拉标签
Posted
技术标签:
【中文标题】Orbeon 表单 - 清除下拉标签【英文标题】:Orbeon forms - clear dropdown label 【发布时间】:2021-03-15 13:24:28 【问题描述】:我有 2 个下拉列表(country_1 和 country_2)填充国家/地区。两者都是必需的。如果我在 country_1 下拉菜单中选择 value some,则 country_2 下拉菜单应被清除(值和标签)。
例子:
-
在 country_1 下拉列表中,我选择了一些内容。
在 country_2 下拉列表中,我选择了一些内容。
在 country_1 下拉列表中,我更改了值。 country_2 应该被清除。
当我验证表单时,在 country_2 下拉列表中出现错误(因此该值似乎已被清除)。
我想在第 3 步中 country_2 将有空标签。
我为 country_1 下拉菜单添加了值更改操作,这应该会清除 country_2 下拉菜单的值和标签。
示例形式: https://demo.orbeon.com/demo/fr/orbeon/builder/edit/bc71b6532f4faee1ec711105a2db00bb65995d80
源码:https://gist.github.com/mmakos-profidata/9728f086da3abc7bd96af27c8d5a70b8
错误画面:
【问题讨论】:
【参考方案1】:将您的代码移动到<xf:model>
中就可以了。我已经在demo.orbeon.com
上更新了你的表单,但万一它消失了,这是我直接放在<xf:model>
中的sn-p:
<xf:action event="xforms-value-changed" observer="c_country_1-control">
<xf:action if="//c_country_1 != 'af'">
<xf:setvalue ref="//c_country_2"/>
<xf:setvalue ref="//c_country_2/@label"/>
</xf:action>
</xf:action>
【讨论】:
嘿亚历克斯,你确定它应该有效吗?我已经发布了这个表格(在demo.orbeon.com),测试了它,我得到了和以前一样的错误。我已经在我的本地环境(orbeon 版本 2019.1.0)上对其进行了测试,但我也遇到了错误。我还确保代码在//c_country_1
而不是.
来访问第一个下拉列表的值。在表单源代码中,我还删除了您在第二行的“值”和“标签”字段中的可见性条件,以便我们可以看到这些值正在重置。
嘿,亚历克斯,仍然没有像我预期的那样工作。清除“值”和“标签”字段对我来说是不够的(这些字段仅用于显示值更改)。下拉列表 c_country_2 上的标签也应该被清除。我已经编辑了我的问题和表格,以简化问题。
啊!该值在数据中被重置,但控件错误地保留了旧值。这是一个错误。我已经创建了问题 #4731,我们会在即将到来的 2020.1 之前及时修复它。
@m.makos 好了,#4731 问题现已修复,将包含在 2020.1 中。以上是关于Orbeon 表单 - 清除下拉标签的主要内容,如果未能解决你的问题,请参考以下文章
Orbeon Forms - 防止表单生成器覆盖表单中的模板