我正在尝试围绕 javascript 媒体播放器控件创建 Orbeon Forms XBL 包装器,以包含在 XForms 应用程序中。
媒体文件的 URL 必须根据也与相同数据实例相关联的另一个控件(例如 xforms:input)的值动态构建。因此,组件接口将采用以下形式:
<comp:player ref="instance('data')/name"/>
在页面的其他地方会有另一个控件引用相同的值,例如
<xforms:input ref="instance('data')/name"/>
其中引用的实例数据的值将包含文件的名称,然后将其附加到 XBL 组件内的基本 URL 以形成媒体文件的最终 URL。
我遇到的问题是知道如何从 XBL 组件中的 javascript 访问这个值。我可以合并一个在引用的数据实例值更改时调用的脚本,但我只是看不到您如何从 javascript 访问该值,以便我可以创建 URL 并将其传递给媒体控件。
<xxforms:script ev:event="xforms-value-changed" type="text/javascript">
/* How do you access the components referenced value? */
var controlValue = ORBEON.xforms.Document.getValue(??????????);
/* construct the url of the media file from this value. */
media.player.load('baseurl/' + controlValue);
</xxforms:script>
任何人都可以建议一种适当的方法来解决 Xforms XBL 组件中的此类问题吗?