我有這個代碼工作,雖然我期望它失敗。要獲得焦點的組件是<p:inputText>
,所以我期望其名稱爲custForm:panelGrid:name-id
(以反映<p:inputText>
組件在<p:panelGrid>
組件中的嵌入)。然而,唯一有效的命名是custForm:name-id
。看來有一些PrimeFaces組件不會在合格的名稱中「插入」它們的id。如果是這樣,那麼記錄在哪裏?PrimeFaces中JSF組件的命名
<h:form id="custForm" styleClass="jsfcrud_list_form">
<script type="text/javascript">
function primeFacesId()
{
var original = 'custForm:name-id';
var idToSetFocus = PrimeFaces.escapeClientId(original);
$(idToSetFocus).focus();
}
</script>
<script>
jQuery(document).ready(function() {
primeFacesId();
});
</script>
<p:panelGrid columns="10" style="width: 98%;margin-left: 1%;margin-right: 1%;" id="panelGrid">
<h:outputLabel for="name" value="Name:" />
<p:inputText id="name-id" value="#{customerLController.nameDBConstraint}" label="name" />
(...)
[我背後的企業防火牆和因「因此需要從另一個域外部JavaScript」我不能接受任何答案几天的]