3

我有一个对话框来输入详细信息。第一次,InputText是空的。但是从第二个输入开始,InputText保持之前的值。

这是我的代码:

     <p:commandButton id="showDialogButton1" type="button" value="add" onclick="dlg1.show()" update="firstname1"/>
     <p:dialog id="dialogAjout" header="add department" widgetVar="dlg1" resizable="false">  
          <h:panelGrid columns="2" style="margin-bottom:10px">  
                <h:outputLabel for="firstname1" value="Libellé :" />  
                <p:inputText id="firstname1" value="#{departementBean.departement.libelleDepartement}" />
          </h:panelGrid>  
          <p:commandButton id="submitButton1" value="Valider" oncomplete="dlg1.hide();" action="#{departementBean.addDept()}" update="tabView"/> 
     </p:dialog>

请问这个怎么解决啊!!

4

5 回答 5

7

您可以使用这个 primefaces 组件: http: //www.primefaces.org/showcase/ui/misc/resetInput.xhtml 关于一般对话框:不要将它们放在表单中。改为:<p:dialog><h:form>... 关于 update="" 值,如果您的 appendToBody 为真,请在 id 前面放置一个冒号(这意味着它是另一种形式)。

于 2012-10-18T10:25:43.077 回答
5

您应该使用以下代码:

<h:commandButton value="Reset" style="margin-right:20px;">
    <p:ajax update="registrationForm" resetValues="true" />
</h:commandButton>
于 2014-10-07T06:54:09.083 回答
4

添加resetValues="true"到您的命令按钮

<p:commandButton resetValues="true" action="#{departementBean.prepareDialog}"  id="showDialogButton1" type="button" value="add" oncomplete="dlg1.show()" update=":dialogAjout"/>
于 2013-12-11T19:39:16.020 回答
4

像这样修改你打开按钮:打开对话框中oncomplete和之前通过将其 id 添加到update属性来更新它并添加操作方法来执行服务器端逻辑以实际初始化对话框字段(填充/重置)

<p:commandButton action="#{departementBean.prepareDialog}"  id="showDialogButton1" type="button" value="add" oncomplete="dlg1.show()" update=":dialogAjout"/>

顺便说一句,看起来您的对话框与您的打开按钮一起位于您的表单内,这是一种“不好的做法”,将您的对话框从该表单移开并在对话框内放置一个新表单,例如<p:dialog><h:form>...

于 2012-04-20T11:27:00.380 回答
0

我这样解决了这个问题

<p:dialog header="myDialog" widgetVar="dlg1" minHeight="40">
   <h:outputLabel for="fild1" value="Fill the field" /> 
   <p:password id="fild1" value="#{myBean.attribute}" required="false" label="Field" redisplay="false" /><br />
   <p:commandButton action="#{myBean.method()}" value="Send" oncomplete="dlg1.hide()" update="field1" />
</p:dialog>

当我使用p:commandButton的属性update="field1"时。提交表单后,字段p:password 的值将为空。

我尝试了 Dani 的建议,但是当我提交表单时我的属性为空,并且在提交后没有保持为空

于 2016-12-29T17:33:33.313 回答