2012-04-05 2 views
0

Dialog에서 ajax 메서드를 실행하려고하는데 실행되지 않습니다.Primefaces : Ajax Call p : dialog가 작동하지 않습니다.

<p:dialog header="Add Product" widgetVar="addProductDialog" modal="true" height="300" width="700" dynamic="true"> 

    <p:toolbar styleClass="toolBar"> 
     <p:toolbarGroup align="left"> 
     <p:commandButton styleClass="grn_actbttn" value="Cancel" onclick="addProductDialog.hide();" /> 
     </p:toolbarGroup> 
     <p:toolbarGroup align="right"> 
     <p:commandButton styleClass="grn_actbttn" id="addproduct" value="Add Products" actionListener="#{customerProductsBean.saveCustomerProducts}" oncomplete="addProductDialog.hide();" /> 
     </p:toolbarGroup> 
    </p:toolbar> 

</p:dialog> 

자바 코드

/** 
* Method used to save selected Customer Product from Add Product Dialog 
* @param actionEvent 
*/ 
public void saveCustomerProducts(ActionEvent actionEvent) { 

// DB call to save to database 

} 

는 페이지처럼인가 : 대화 상자가 AJAX 호출을 지원하지 않습니다?

+0

대화 상자 주위에 ''태그가 있습니까? –

+0

예, 거기에 ... 여기에 언급하는 것을 잊어 버렸습니다 .... –

답변

3

대화 상자가 페이지에서 렌더링 된 후 양식 밖으로 이동 중입니다. 이는 클라이언트 측 위젯이 Primefaces 대화 상자에서 작동하는 방식의 부작용입니다.

대화 상자에 appendToBody="true" 속성을 추가하면 일반적으로이 문제가 해결됩니다.

그래도 작동하지 않으면 대화 상자가 양식으로 둘러싸여 있지 않은지 확인한 다음 양식 상자에 을 입력하고 대화 상자에 넣으십시오.

+0

Thanks Buddy .... 그 해결 된 :) :) :) –

관련 문제