2012-04-05 8 views
0

Dialogからajaxメソッドを実行しようとしていますが、実行されません。Primefaces:Ajax Call Inside p:ダイアログが機能しない

<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> 

Javaコード

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

// DB call to save to database 

} 

そのPのようなものです:ダイアログは、AJAX呼び出しをサポートしていませんか?

+0

ダイアログの周りに「」タグがありますか? –

+0

はい、そこにあります...私はここに言及するのを忘れました.... –

答えて

3

ダイアログがページ上にレンダリングされた後にフォームから移動されています。これは、クライアントサイドウィジェットがプライムフェイスダイアログのために働く方法の副作用です。

ダイアログにappendToBody="true"属性を追加すると、一般的にこれが解決されます。

これが機能しない場合は、ダイアログボックスがフォームに囲まれていないことを確認してください。内にダイアログボックスを配置してください。

+0

おかげでバディ....その解決:) :) :) –

関連する問題