如果我有一个带有三个选项A,B,C的单选按钮,并且我有一个相关性取决于单选按钮是否具有值A的输入字段。那么:如果我在单选按钮中选择了值A,则输入字段是可见的,我可以添加一个值。但是,当我将单选按钮更改为B时,“输入”字段是隐藏的,但值仍然存在(如果再次选择A,则可以看到该值)
是否可以通过事件删除值?
最简单的方法是使用重置值calculate
,您可以将其放置在xf:bind
选择值B时用来隐藏输入的位置,如下面的示例所示。对于使用Form Builder创建的表单,可以立即实现此行为的RFE,但仅在保存/提交时重置该值,因此,如果在A和B之间来回切换,则在输入不会丢失,但是在保存/提交表单时将清除输入。
<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:ev="http://www.w3.org/2001/xml-events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner">
<xh:head>
<xh:title>XForms Hello</xh:title>
<xf:model>
<xf:instance>
<instance>
<select1>A</select1>
<input/>
</instance>
</xf:instance>
<xf:bind ref="input"
relevant="../select1 = 'A'"
calculate="if (../select1 = 'A') then . else ''"
readonly="false()"/>
</xf:model>
</xh:head>
<xh:body>
<xf:select1 appearance="full" ref="select1">
<xf:item>
<xf:label>A</xf:label>
<xf:value>A</xf:value>
</xf:item>
<xf:item>
<xf:label>B</xf:label>
<xf:value>B</xf:value>
</xf:item>
</xf:select1>
<xf:input ref="input"/>
</xh:body>
</xh:html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句