重置主要面中的输入字段

时间:2012-04-20 11:20:17

标签: primefaces

我有一个Dialog来输入详细信息。第一次, 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>

我该怎么解决这个问题,请!!

5 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:5)

您应该使用以下代码:

<h:commandButton value="Reset" style="margin-right:20px;">
    <p:ajax update="registrationForm" resetValues="true" />
</h:commandButton>

答案 2 :(得分:4)

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

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

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

答案 3 :(得分:3)

resetValues="true"添加到commandButton

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

答案 4 :(得分: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的属性更新=&#34; field1&#34; 时。 提交表单后,字段 p:密码的值将为空

我尝试过做Dani的建议,但是当我提交表单时我的属性变空了,并且在提交后没有留空