标签缺少自定义控件上的“for”属性。我正在使用lhha模式,但现在已切换到custom-lhha模式以尝试纠正问题。
下面的代码做了很奇怪的事情。 label元素包含两个带有正确标签内容的嵌套跨度,而for属性包含正确id的部分内容。
<xbl:xbl xmlns:xh="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
xmlns:xbl="http://www.w3.org/ns/xbl"
xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
<xbl:binding element="fr|image-picker" id="fr-image-picker" xxbl:mode="lhha custom-lhha binding value" xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
<metadata xmlns="http://orbeon.org/oxf/xml/form-builder">
<display-name lang="en">Image Picker</display-name>
<icon lang="en">
<small-icon>/apps/fr/assets/img/camera.png</small-icon>
<large-icon>/apps/fr/assets/img/camera.png</large-icon>
</icon>
<templates>
<view>
<fr:image-picker id="image-picker" ref="">
<xf:label ref=""/>
<xf:hint ref=""/>
<xf:help ref=""/>
<xf:alert ref=""/>
</fr:image-picker>
</view>
</templates>
</metadata>
<xbl:template>
<xh:label for=""><xf:output value="xxf:label('fr-image-picker')"/></xh:label>
<xf:input ref="xxf:binding('fr-image-picker')" class="image-picker"/>
</xbl:template>
</xbl:binding>
任何提示都将不胜感激。
答案 0 :(得分:0)
这是一个定义具有绑定和标签支持的简单组件的示例。当我使用组件时,我只使用常规xf:label
:
<xh:html
xmlns:xh="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner">
<xh:head>
<xf:model>
<xf:instance>
<form xmlns=""/>
</xf:instance>
</xf:model>
<xbl:xbl xmlns:xbl="http://www.w3.org/ns/xbl" xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
<xbl:binding element="fr|image-picker" id="fr-image-picker" xxbl:mode="lhha binding value" xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
<xbl:template>
<xf:input ref="xxf:binding('fr-image-picker')"/>
</xbl:template>
</xbl:binding>
</xbl:xbl>
</xh:head>
<xh:body>
<fr:image-picker ref=".">
<xf:label>My Label</xf:label>
</fr:image-picker>
</xh:body>
</xh:html>
如果您想使用for
的外部标签,只需给fr:image-picke
一个ID并像往常一样使用for
:
<xf:label for="my-date-picker">My Label</xf:label>
<fr:image-picker id="my-date-picker" ref="."/>