Orbeon Forms:在 xform-ready 时填充隐藏字段

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

我知道我们可以在 xforms-ready 事件中填充隐藏控件:

<xf:action event="xforms-ready" type="javascript"> 
   var vProtocol = window.location.protocol;
   var vSystem;
   if (vProtocol == 'file:') { vSystem = 'Yes' } else  { vSystem = 'No' };      
   ORBEON.xforms.Document.setValue(ORBEON.fr.API.findControlsByName("SystemType")[0],vSystem); 
</xf:action>

当我们在控件内使用 xPath 来查询 SystemType 中的值时,我们得不到任何值。但是,如果我使 SystemType 控件可见,那么一切都会按预期工作。

那么我怎样才能拥有一个隐藏控件,并且仍然检索值?

提前非常感谢

皮特A

orbeon
1个回答
0
投票

您无法使用 JavaScript 更改只读或隐藏控件的值。这是因为,在网络上,浏览器中运行的 JavaScript 不能被“信任”,即恶意用户也可以在 JavaScript 中完成的操作。一般来说,您不希望用户能够更改只读或隐藏控件的值。

如果在您的情况下这不是问题,您可以使用常规字段并使用 CSS 隐藏它,例如通过在自定义 CSS 类中添加

xforms-hidden
。这样,控件将在视觉上隐藏,但仍显示在页面上,这将允许您使用 JavaScript 设置其值。

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