다른 필드의 "onchange"이벤트가 호출 될 때 특정 필드가 동적으로 렌더링되는 JSF 페이지가 있습니다. 또한 버튼 클릭만으로 열리는 팝업 패널이 있습니다.RichFaces에서 팝업 패널 및 동적 렌더링 필드에 초점 설정 4.1.0
<h:form id="testForm">
<h:panelGrid id="testPanel" columns="2">
<h:inputText id="text0" />
<h:inputText id="text1">
<f:ajax event="change" listener="#{popupMBean.renderDynamicData}"
render="@form" />
</h:inputText>
<h:inputText id="text2" rendered="#{popupMBean.renderDynamic}" />
<h:inputText id="text3" />
<a4j:commandButton id="open" value="Open" render="testPopup"
oncomplete="#{rich:component('testPopup')}.show();" />
</h:panelGrid>
</h:form>
<rich:popupPanel id="testPopup" height="100"
domElementAttachment="form" header="Test">
<f:facet name="controls">
<h:commandButton value="Close"
onclick="#{rich:component('testPopup')}.hide()"></h:commandButton>
</f:facet>
<a4j:outputPanel id="test">
<a4j:commandButton id="first" value="First" />
<a4j:commandButton id="second" value="Second" />
</a4j:outputPanel>
</rich:popupPanel>
내가 키보드를 사용하여 모든 필드를 통과 할 필요는 요구 사항이 있습니다 다음은 페이지의 단순화 된 버전입니다. 직면하고있는 문제는 다음과 같다 내가 '열기'버튼을 클릭하면
- 는 팝업 패널을 표시하지만 초점이 팝업에서 첫 번째 입력 요소에 설정되어 있지 않습니다.
- 사용자가 팝업을 닫으면 포커스는 팝업을 생성 한 필드 또는 필드 옆에 설정해야합니다.
- "text1"필드의 변경 이벤트가 호출 된 후 새로 렌더링 된 필드 "text2"대신 포커스가 페이지의 첫 번째 입력 요소 즉 "text0"으로 다시 이동합니다.
감사합니다.