2011-08-11 81 views
0

我有一個命令按鈕,其操作返回一個新的URL以重定向到。當這個命令按鈕不在p:對話框內時,所有的功能都可以像我所期望的那樣工作,但是當我將對話框中的命令按鈕放到對話框中時,對話框就會關閉,並將我留在同一頁面上。primefaces p:commandButton動作不在p:對話框中時重定向

<h:form id="reviewForm"> 
    <h:messages id="saveMsg" showDetail="true" globalOnly="true"/> 
    <p:panel style="text-align: center"> 
     <p:commandButton type="button" value="Submit" onclick="showOptions(); areYouSureVar.show();" /> 
    </p:panel> 
    <p:dialog id="areYouSure" widgetVar="areYouSureVar" resizable="false" width="400" modal="true" header="Are you sure you want to continue?">           
     <p:panel style="text-align: center">   
      <p:commandButton id="submit" ajax="false" value="Submit" action="#{mybean.myaction}" oncomplete="areYouSureVar.hide();"/> 
      <p:commandButton type="button" value="Cancel" onclick="areYouSureVar.hide();"/> 
     </p:panel>        
    </p:dialog> 
</h:form> 

mybean.action返回一個字符串指向另一個頁面,但該頁面從不加載,對​​話框消失,這就是全部。

回答

0

嘿,你可以嘗試刪除modal="true"?我試了一下,它在我的情況下工作。

呵呵,我也必須刪除showOptions(),因爲我沒有定義它。

+0

刪除模式=「真」,仍然有同樣的問題。 – John

+0

您使用的是什麼版本的Primefaces?我正在使用版本2.2.1。 –

+0

你能否確定無論你從'mybean.myaction'方法返回的是一個合適的'ViewId'? –

1

未經測試,但也許這會有所幫助:

結帳的primefaces文檔這裏(3.3版):http://primefaces.googlecode.com/files/primefaces_users_guide_3_3.pdf

在150頁,它說:

使用appendToBody小心爲頁面定義和html dom會有所不同,對於 如果dialog中的對話框位於h:form組件內且appendToBody已啓用,則瀏覽器 對話框將位於表單之外並可能導致意外的結果TS。在這種情況下,在 對話框中嵌套一個表單。

將對話框嵌套到表單元素看起來有點奇怪。

相關問題