2011-09-02 1 views
1

primefaces 명령 버튼을 클릭하면 대화 상자가 나타납니다. 대화 상자가 나타나기 전에 condtional을 확인해야합니다.Primefaces 대화 상자 - 조건 적으로 표시하십시오. 자바 스크립트 코드가 작동하지 않습니다

스프링 웹 플로우 2.3.0을 사용하고 있습니다. 나는이 조건에 따라이 대화 상자를 표시 할 수 없습니다입니다

그래서 나는이 같은

을 그 일을하고 그리고 대화 상자

입니다.

도와 주시겠습니까?

SWF 2.3.0 Primefaces 2.2.1 JSF 2 스프링 시큐리티 3 봄 3.1.0M1I EHCache는 아파치 톰캣 6.0 STS 2.5.1

그래서 나는

    <p:commandLink id="addRequest" immediate="true" value="addreq" 
        oncomplete="dlg3.show()" update="dialogPanel"> 
        <f:setPropertyActionListener 
         value="#{searchHandler.selectedAccIns}" 
         target="#{reqSearchHandler.checkAccStatus}" /> 
       </p:commandLink> 
아래 당으로 내 코드를 변경

그리고 대화 상자가

   <p:outputPanel id="dialogPanel" 
       rendered="#{not reqSearchHandler.accStatusFlag}"> 
       <p:dialog header="Effect Dialog" widgetVar="dlg3" 
        showEffect="bounce" hideEffect="explode" height="200"> 
        <h:outputText 
         value="Account is #{searchHandler.selectedAccIns.accStatusDesc}" /> 
        <h:outputText value="Do you want to continue?" /> 
        <div align="left"> 
         <p:commandButton value="Yes" action="accept" /> 
         <p:spacer width="960" height="5" /> 
         <p:commandButton value="No" action="cancel" /> 
        </div> 
       </p:dialog> 
      </p:outputPanel> 

입니다하지만 명령 링크를 클릭하고 때, 나는 3 대화 상자를 얻고있다. 왜 그런지 말해 줄 수 있니?

답변

1

다른 사람이 방금 같은 문제를 게시했습니다. :)

oncomplete 속성 대신 onclick commandButton을 사용해야합니다. 클릭 자바 스크립트 이벤트는 페이지가 다시 게시되기 전에 발생하므로 페이지를 다시로드하기 때문에 대화 상자가 표시되지 않을 수 있습니다.

oncomplete="dlg3.show()" 포스트 백 이후에 대화 상자가 표시됩니다.

+0

고맙습니다 maple_shaft. 내 업데이트 된 질문을 참조하십시오. – C4CodeE4Exe

+0

이것은 완전히 다른 문제처럼 보입니다. 나중에 새로운 문제에 대한 새로운 질문을 만드십시오. –

+1

@Suman 비동기 적으로 다시 게시하는 다른 요소와 동일한 양식 내에있는 경우이 대화 상자의 문제입니다. 대화 상자를 별도의 폼에 배치하고 대화 상자의 'appendToBody = "true"속성을 설정하면이 문제가 해결됩니다. –