Javascript 如何在运行时更改Orbeon窗体的控件可见性?

Javascript 如何在运行时更改Orbeon窗体的控件可见性?,javascript,runtime,orbeon,Javascript,Runtime,Orbeon,我试图找出如何在运行时更改Orbeon表单文本框的控件可见性。在以下示例中,我创建了一个图像按钮-当用户单击此按钮时,我希望显示/隐藏另一个按钮,但不幸的是,我的代码无法正常工作: <xf:trigger> <xf:label> <xf:output value="concat('&lt;img src=''http://********

我试图找出如何在运行时更改Orbeon表单文本框的控件可见性。在以下示例中,我创建了一个图像按钮-当用户单击此按钮时,我希望显示/隐藏另一个按钮,但不幸的是,我的代码无法正常工作:

<xf:trigger> 
                            <xf:label>
                                <xf:output value="concat('&lt;img src=''http://**********:8081/green-light.png', image, '''&gt;')"
                                           mediatype="text/html"/>
                            </xf:label> 
                            <xxf:script event="DOMActivate">
                              var remarksControl = ORBEON.jQuery('*[id $= "remarks-control"]')[0];
                                remarksControl.hidden= true;
                            </xxf:script>  
                        </xf:trigger> 

                        </fr:c>
                    <fr:c y="1" x="7" w="6">

                    </fr:c>
                    <fr:c x="1" y="2" w="6">
                        <xf:input id="remarks-control" bind="remarks-bind">
                            <xf:label ref="$form-resources/remarks/label"/>
                            <xf:hint ref="$form-resources/remarks/hint"/>
                            <xf:alert ref="$fr-resources/detail/labels/alert"/>                                                                                                                                              
                        </xf:input>
                    </fr:c>

var remarksControl=ORBEON.jQuery('*[id$=“备注控件”]')[0];
remarkControl.hidden=true;
实现这种功能的最佳方法是什么?我实际上想要实现的是,让一个表单包含多个图像,当用户单击一个图像时,她将能够激活/停用表单上的多个文本字段


提前感谢

我会尽量避免使用JavaScript来处理这种情况。按钮与任何其他控件一样绑定到元素。因此,您编写了一些XForms,在单击按钮时存储一个值,比如
show textfield
。假设您的按钮名为
按钮
,您可以通过以下方式执行此操作:


显示文本字段
然后,要在单击按钮时显示的控件可以具有可见性公式
$button='show textfield'
。因此,您将得到如下结果:


嗨,乔治,我认为您使用图像作为用户从几个选项中选择一个的一种方式是正确的吗?也就是说,您也可以为此使用单选按钮Alexi Alex,实际上我想要实现的是,当用户单击按钮时,在表单上隐藏/显示几个字段。初始表单包括一组必填字段,我需要在其中一些字段旁边添加一个图标,以便当用户单击图标时,在初始字段下方显示一组附加字段,以便填写。虽然我们设法使用“是/否回答”控件实现了它,但我收到一个请求,要求用一个图像按钮替换“是/否回答”控件-如果可能的话。我如何使用按钮(触发器)来改变控件的可见性?明白了,乔治,我在下面的回答中推荐了一种方法。如果这对您有效,请告诉我!‑非常感谢!这才是我真正想要的!只是一个问题-是否有任何用户指南或手册可以解释XForms的所有这些高级问题?我真的很想深入研究这些细节,但可用的文档主要针对那些对Orbeon表单体系结构有清晰了解并提供功能的开发人员。嗨,George,理想情况下,您想做的一切都应该可以直接在Form Builder中完成;)。这里要做的是FormBuilder,但编写自己的代码(在本例中使用XForms)总是会增加全新的可能性。因为XForms是一种标准,所以您可以浏览,如果您找不到要查找的内容,请随时发布有关堆栈溢出的问题,我们很乐意提供帮助亚历克斯
<xf:model xmlns:xf="http://www.w3.org/2002/xforms">

    <xf:action
        observer="button-control"
        event="DOMActivate">
        <xf:setvalue ref="event('xxf:binding')">show-textfield</xf:setvalue>
    </xf:action>

</xf:model>