2012-05-16 68 views
2

即時通訊使用h:commandLink嘗試從javascript調用bean。從Javascript調用commandlink動作

我有一個commandLink

   <h:commandLink action="#{bean.go()}" 
        styleClass="simple-submit-button" id="uLink"> 
        <f:param name="userId" value="#{param['userId']}" /> 
       </h:commandLink> 

這就要求我的豆。

,並希望從JavaScript調用這個commandLink,像這樣:

document.getElementById('uLink').click(); 

但I M總是收到錯誤:的document.getElementById( '宇聯')爲空。

我嘗試這樣做:

  • 設置h:commandLink立即= 「造假」,而不是的document.getElementById( '宇聯')點擊()我使用的document.getElementById( '宇聯')直接。 = TRUE;
  • usinng h:commandButton代替。
  • using document.getElementById('formId:uLink')。click();

有沒有人知道我如何得到這份工作?

+0

顯示生成的HTML。很可能HTML標識不僅僅是'uLink'。 –

+0

查看源代碼並查看按鈕的ID,它可能看起來像someContainerID:uLink或someFormID:uLink,而不僅僅是uLink,因此您可能需要使用document.getElementById('someFormID:uLink')。click(); – Daniel

+0

你是IDH是'formId:ULink'(用螢火蟲檢查),所以現在我沒有得到錯誤了。但它仍然無法正常工作。 – user1338413

回答

5

view source在你的瀏覽器,並期待在按鈕的確切的ID,它可能看起來像someContainerID:uLinksomeFormID:uLink並不僅僅是uLink,所以你可能需要使用

document.getElementById('someFormID:uLink').click(); 

OR

document.getElementById('someContainerID:uLink').click(); 
+0

@Hitesh,比改進你的選擇器,爲你的按鈕做出獨特的類/使用jquery「以選擇器結束」等等......你總是應該有一個已知的按鈕選擇器。 – Daniel