通过其styleClass选择另一个按钮功能来复制它



假设单击模式面板上的按钮a执行操作a:

<a4j:commandLink styleClass="abc"
     immediate="true"
     action="actionA"
     oncomplete="#{rich:component('modalPanel')}.hide(); Event.stop(event); return false;">
</a4j:commandLink>

现在我有了另一个按钮,按钮B,它需要模仿按钮A的功能。下面是按钮B的代码:

<h:outputLink value="javascript:void(0)" class="btn-image close">
<span><h:outputText value="Close"></h:outputText></span>
<rich:componentControl for="#{(empty modalId) ? defaultModalId : modalId}" operation="hide" event="onclick"/>
</h:outputLink>

在rich:componentControl的"for"属性中,我可以搜索按钮A并调用actionA吗?

任何帮助都将不胜感激!!

首先,您需要知道所讨论的<a4j:commandLink>组件的生成HTML <a>元素的ID。如果它是动态/自动生成的,您希望JSF通过给组件和父UINamingContainer组件(如<h:form>)一个固定ID 来生成一个固定的客户端ID

<h:form id="myform">
    <a4j:commandLink id="mylink" ... />
    ...
</h:form>

在上面的示例中,ID将变为myform:mylink。要通过JS调用click事件,您可以执行

<h:outputLink onclick="document.getElementById('myform:mylink').click()">

如果您使用RichFaces4,您可以使用#{rich:element()}根据服务器端ID来定位元素,这样您就不需要知道表单的ID

<h:outputLink onclick="#{rich:element('mylink')}.click()">

相关内容

  • 没有找到相关文章

最新更新