2013-02-04 109 views
0

我讀了很多關於此問題的文章,但找不到解決方案。對話框無法正確顯示使用modal = true和appendToBody = true

我有一個窗體在我的JSF的開始與commandButton,它應該打開對話框。對話框在對話框中有一個窗體,屬性模式和appendToBody。我的頁面只是重新加載,並不會彈出對話框。

<ui:composition template="../templates/site.xhtml" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:p="http://primefaces.org/ui" 
    xmlns:sec="http://www.springframework.org/security/tags"> 

    <ui:define name="content"> 
     <h:form> 
        <p:commandButton value="Button" id="myButton" onclick="myDialog.show()" /> 
     </h:form> 

     <p:dialog id="dialog" widgetVar="myDialog" 
         header="Dialog" closable="true" resizable="false" width="600" 
         height="350" modal="true" appendToBody="true" dynamic="true"> 
         <h:form> 
          ... 
         </h:form> 
     </p:dialog> 
    </ui:define> 
</ui:composition> 
+0

你可以再次發佈'commandButton'代碼,它看起來像弗蘭肯斯坦。 – partlov

+0

也發佈一點代碼,也許你有一些嵌套的'表格'標籤... – partlov

+0

雅,抱歉。我編輯了我的commandButton。那麼,有兩種形式,一種是在命令按鈕之外,另一種是在對話框之內,另一種形式是UIi:define和ui: – Johnny2012

回答

1

更改commandButton代碼如下:

<p:commandButton value="Button" type="button" id="myButton" onclick="myDialog.show()"/> 

這將創建一個普通的按鈕(這只是調用JavaScript的),並沒有做任何AJAX或服務器的非Ajax請求。默認的按鈕類型是submit

+0

謝謝你的幫助。但它仍然不適合我。 – Johnny2012

+0

嘗試輸入封裝頁面的一些最重要的代碼。 – partlov