2011-05-27 23 views
1

比方說點擊一個modalPanel確實actionA按鈕答:複製通過其的styleClass選擇它的另一個按鈕的功能

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

現在我有需要模仿按鈕A的功能另一個按鈕,按鈕B下面是按鈕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> 

在富:componentControl的「對」的屬性,我可以搜索按鈕A和呼叫actionA?

任何幫助將不勝感激!

回答

1

至此,您需要知道生成的<a4j:commandLink>組件的HTML <a>元素的ID。如果它的動態/自動生成的,你希望讓JSF通過給組件和母UINamingContainer部件(像<h:form>)固定ID

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

在上述示例中,ID將成爲myform:mylink產生固定的客戶端ID 。要調用一個click事件由JS,然後你可以只是做

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

如果您使用RichFaces4,你可以使用#{rich:element()}由服務器端ID來定位元素,讓你不需要知道表單的ID

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

這是有道理的,並且效果很好!感謝您的幫助! – TookTheRook 2011-05-27 20:21:47

+0

不客氣。 – BalusC 2011-05-27 20:24:56

相關問題