Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重置primefaces中的输入字段_Primefaces - Fatal编程技术网

重置primefaces中的输入字段

重置primefaces中的输入字段,primefaces,Primefaces,我有一个对话框来输入详细信息。第一次,InputText为空。 但是从第二次输入开始,InputText保持先前的值 这是我的代码: 请问我该如何解决这个问题 像这样修改您的打开按钮:在oncomplete中打开对话框,在此之前通过将其id添加到update属性来更新对话框,并添加操作方法来执行服务器端逻辑,以实际初始化对话框字段(填充/重置) b、 t.w看起来您的对话框与打开按钮一起位于窗体内,这是一种“错误做法”,请将对话框从该窗体移开,并在对话框内放置一个新窗体,例如..您可以使

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

这是我的代码:



请问我该如何解决这个问题

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



b、 t.w看起来您的对话框与打开按钮一起位于窗体内,这是一种“错误做法”,请将对话框从该窗体移开,并在对话框内放置一个新窗体,例如
..

您可以使用此primefaces组件: 一般来说,关于对话框:不要把它们放在表单中。 改为:
关于update=“”值,如果您的appendToBody为true,请在id前面加一个冒号(这意味着它是另一种形式)。

resetValues=“true”
添加到您的命令按钮中


您应该使用以下代码:

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

我就这样解决了这个问题

<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的建议,但在提交表单时我的属性变为空,并且在提交后没有保持空状态

谢谢Daniel,但是出现了另一个问题。当我把。。。在主窗体的外侧,无法显示对话框。为什么?尝试更改update属性,方法如下:update=“:dialogAjout”另外,您是否实现了prepareDialog方法,或者至少从commandButton中删除了它?您看到了什么错误消息?服务器/javascript?谢谢丹尼尔:我在我的Bean中添加了这个:
private department department=new department()\\getter和setter public void preparDialog(ActionEvent ActionEvent){department=new department();}
Insert work fine在数据库中,对话框会出现,但它会保留以前的值。你知道你的preparDialog方法被调用了吗?因为签名是actionListener而不是action。。。您应该像这样重新标记它preparDialog(){department=new department();}您只需在update=”“属性中指定相应控件的id。在这里,我通过将id(registrationForm)写为update=“registrationForm”@Dragos回答中包含指向PF showcase的链接来完成整个表单的id。另外,您可能需要使用
p:commandButton
,因为提问者已经在使用它了。
<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>