我正在尝试围绕javascript媒体播放器控件创建一个Orbeon Forms XBL包装器,以包含在XForms应用程序中。
必须根据同一数据实例关联的另一个控件(例如xforms:input)的值动态构造媒体文件的URL。因此,组件接口的格式为:
<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组件中解决此类问题的适当方法吗?