Orbeon:重置所有表单字段

问题描述 投票:0回答:1

在表单的顶部,我们有一个单选按钮,它有 3 个选项。每个选项都会让用户记下一组不同的问题。然而,如果用户改变主意并说,从选项 1 切换到选项 2。然后我们要重置除单选按钮之外的所有表单字段。

我尝试过如下语法,它清除了下拉菜单和复选框,但它将文本字段设置为“true”:

<xf:setvalue xxf:iterate="//SubScn2//*[empty(*)]" value="if (//MainCtrl = '1') then 'true' else ."/>

表格示例:https://demo.orbeon.com/demo/fr/orbeon/builder/edit/4d48d3f7be57ecaeecb2d5c14ce2a50cf85f7475

有什么建议吗?

orbeon
1个回答
0
投票

我觉得你的代码很好。如果你想清除所有字段,只需使用

value="if (//MainCtrl = '1') then '' else ."
。如果你想要一些字段除外,那么使
xxf:iterate="//SubScn2//*[not(self::SubScn2_C3)]"
中的xPath更具体。 有些喜欢
"//SubScn2//*[empty(*) and not(self::SubScn2_C3)]"
。如果您为字段使用好的名称,则该条件看起来更普遍。

© www.soinside.com 2019 - 2024. All rights reserved.