2012-12-08 2 views
1

대화 상자를 업데이트하기 위해 명령 링크와 함께 Ajax를 사용하려고합니다. 테 폼이 나는 또한이 페이지를 실행할 수 아니다, 어떤 ID를 가지고 있지 않으며,이 구성 요소는 "대화"을 (를) 찾을 수 없습니다/자체가 컨테이너프라임 페이스 명령 링크 아약스가 작동하지 않습니다.

<h:form> 
    <p:tabView id="tabView"> 
     <p:tab id="tab1" title="Tab 1"> 
      <h:panelGrid columns="1" cellpadding="10"> 
       <h:dataTable value="#{testBean.dataList}" var="data"> 
        <h:column> 
         <h:outputText value="#{data}" /> 
        </h:column> 
        <h:column> 
         <p:commandLink action="#{testBean.loadCommentHistory(data)}" 
          update="dialog" oncomplete="dlg.show()"> 
          <h:graphicImage url="resources/theme1/images/comments.gif" 
           styleClass="basicImageStyle" /> 
         </p:commandLink> 
        </h:column> 
       </h:dataTable> 
       <p:dialog id="dialog" header="Dynamic Dialog" widgetVar="dlg"> 
        <h:outputText value="#{testBean.commentHistory}" /> 
       </p:dialog> 
      </h:panelGrid> 
     </p:tab> 
    </p:tabView> 
</h:form> 

답변

1

p:dataTable 존재하지 않는로 말했다. p:commandLinkp:dataTable에서 id가 "dialog"인 요소를 검색합니다.

해결 방법 : 양식에 ID를 추가하고 대화 상자를 ": formid : dialog"로 참조하십시오.

편집 :

p:tabView 또는 p:tab는 또한 컨테이너가 너무 브라우저에서 대화 상자의 ID를 확인하고 그 하나를 사용하십시오. ;-) 이드가 jdt_id4이되지 않도록주의해야합니다.

+0

이 id는 브라우저 페이지 소스에서 볼 수 있습니다. - j_idt7 : tabView : 대화 상자 –

+0

이 업데이트를 제공하려고 시도했습니다. ": tabView : 대화 상자"아직 사용하지 않습니다. –

+0

양식에 ID를 지정하십시오 ('form id = "formId")'update = ": formId : tabView : dialog"를 사용하십시오. 첫 번째 ":"는 페이지의 루트 요소를 나타냅니다. – siebz0r

관련 문제