簡體   English   中英

JSF ui:include和getElementById

[英]JSF ui:include and getElementById

我正在編寫ui:composition xhtml文件,以使用ui:include將其包含在不同的頁面中。 看來我無法使用getElementById引用此文件中javascript的標記,因為標記ID可能以父頁面的表單ID開頭。 有解決方法嗎?

我發布問題后找到了這個答案。 有幫助!
使用JSF 2.0在命名容器中獲取組件clientId的完整前綴

您可以這樣做:

var elem = document.querySelector( '[id$="-test"]' );

其中test是不帶前綴的ID, -是前綴分隔符。

上面的代碼將選擇“ id”屬性以"-test"結尾的元素(例如<div id="form1-test">...</div> )。

現場演示: http //jsfiddle.net/8kyb2/

請注意, querySelector()與attribute-ends-with選擇器配對使用的性能比getElementById()慢。

如果您碰巧使用Apache的Tomahawk組件 ,並指定forceId="true" ,則標記ID將保持不變。 例如:

<t:inputText id="name" forceId="true" value="#{myBean.property}" />

將導致<input type="text" id="name" ... / >

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM