2013-02-20 99 views
7

我有一個對話框來插入一些字段,其中一個是p:編輯器,它顯示爲像禁用它,而不是。一個奇怪的「真實」字符串顯示在編輯器主體中。 代碼:對話框中的Primefaces編輯器不起作用

<p:dialog id="insertPanel" header="Inserisci" widgetVar="dlg1" appendToBody="true" modal="true"> 
    <h:form id="insertForm"> 
    <h:panelGrid columns="2"> 
     <h:outputLabel value="Nome: " for="name" /> 
     <p:inputText id="name" value="#{controller.name}" /> 
     <h:outputLabel value="Oggetto: " for="subject" /> 
     <p:inputText id="subject" value="#{controller.subject}" /> 
     <h:outputLabel value="Visibilità: " for="visibility" /> 
     <p:inputText id="visibility" value="#{controller.visibility}" /> 
     <h:outputLabel value="Testo: " for="text" /> 
     <p:editor id="text" value="#{controller.text}" width="600"/> 
     <f:facet name="footer"> 
     <p:commandButton actionListener="#{controller.insert}" value="Inserisci" /> 
     </f:facet> 
    </h:panelGrid> 
    </h:form> 
</p:dialog> 

對話框的圖像,顯​​示問題:

Editor in dialog problem

正如你所看到的編輯器就像是禁用,並顯示「真」到它的身上。

+0

如果可以幫助,我注意到如果我按下插入按鈕而不插入其他字段,表單將返回驗證錯誤,只有編輯器開始工作!我無法理解爲什麼! – 2013-02-20 16:19:36

+0

您是否將''放置在任何其他PrimeFaces組件中,比如''? – 2013-02-21 03:50:48

+0

是的,它在''內,但有'appendToBody =「true」',它不應該修復幾乎任何東西? – 2013-02-21 08:22:05

回答

7

我解決了這個問題。 我剛剛將update=":insertForm"放入命令按鈕中,打開對話框並且它可以正常工作。

<p:commandButton id="insertButton" value="Inserisci" oncomplete="dlg1.show();" update=":insertForm" /> 
+1

嗨,謝謝你分享這個解決方案。你知道爲什麼它只有在你更新表單時纔有效嗎? – PermGenError 2013-06-06 16:06:41

2

嘗試將showEffect="fade"添加到對話框組件。

+2

請詳細解釋可能的原因是什麼以及爲什麼你認爲這是解決方案。這個答案是無用的/無用的,可以更好地發表評論。 – BalusC 2013-02-20 15:14:37

+0

我不能添加評論,因爲低信譽:( 我得到了同樣的問題,並通過在primefaces論壇上檢查以下答案解決它http://forum.primefaces.org/viewtopic.php?f=3&t = 8993&start = 10 [link] – 2013-02-20 15:21:02

+0

當然,這不是我的問題的解決方案 – 2013-02-20 16:14:34