我正在尝试为JSF主要面孔休息所有inputValues
:
我有一些InputFields和一些选择菜单,菜单在点击SAVE按钮后工作正常,但输入值未清除
我不想使用spearat按钮,我想在点击保存后自动设置然后重置所有输入字段:
HTML code:
</h:form>
<center>
<h:form id="form" style="width: 600px; text-align: center;">
<p:panel id="panel" header="اضافه طالب غائب">
<p:growl id="msgs" showDetail="true" />
<p:panelGrid columns="2">
<h:outputLabel value="رقم المعلم:" />
<p:inputText label="رقم المعلم" required="true"
requiredMessage="Contact Number required!"
style="width: 150px; text-align: center;"
value="#{pprBean.teacherid}"/>
<h:outputLabel value="اختر الفصل" />
<p:selectOneMenu id="city20" value="#{pprBean.classname}" style="text-align:center;">
<f:selectItem itemLabel="اختر الفصل" itemValue="" style="text-align:center;" />
<f:selectItems value="#{pprBean.clasess}" style="text-align:center;" />
<p:ajax update="city21"
listener="#{pprBean.handleclassnameChange}" />
</p:selectOneMenu>
<h:outputLabel value="اختر الطالب" />
<p:selectOneMenu id="city21" value="#{pprBean.names}" style="width:140px; text-align:center;">
<f:selectItem itemLabel="اسم الطالب" itemValue="" style="text-align:center;" />
<f:selectItems value="#{pprBean.studentnames}" style="text-align:center;" />
<p:ajax update="" listener="#{pprBean.handlenamesChange}" />
</p:selectOneMenu>
<h:outputText value="الفتره من " />
<p:calendar value="#{pprBean.from}" showButtonPanel="true"
pattern="yyyy-MM-dd"
style="width: 200px; text-align: center;" />
<h:outputLabel value="الحصة" />
<p:selectOneMenu id="city1" value="#{pprBean.interval}" style="width:140px; text-align:center;">
<f:selectItem itemLabel="اختر الحصة" itemValue="" style="width:140px; text-align:center;" />
<f:selectItems value="#{pprBean.intervals}" style="width:140px; text-align:center;" />
<p:ajax update=""
listener="#{pprBean.handleintervalChange}" />
</p:selectOneMenu>
<h:outputLabel value="الحالة" />
<p:selectOneMenu id="city3" value="#{pprBean.appsent}" style="text-align:left;">
<f:selectItem itemLabel="حالة لغياب" itemValue="" style="text-align:left;"/>
<f:selectItems value="#{pprBean.apssents}" style="text-align:left;" />
<p:ajax update=""
listener="#{pprBean.handleappsentChange}" />
</p:selectOneMenu>
</p:panelGrid>
</p:panel>
<p:commandButton action="#{pprBean.insert}"
value="ادخال" update="form"/>
</h:form>
<p:ajaxStatus style="width:64px;height:64px;position:fixed;right:5px;bottom:5px">
<f:facet name="start">
<p:graphicImage value="/css/loading.gif" />
</f:facet>
<f:facet name="complete" process="@this" type="org.primefaces.examples.view.CleanLocalValuesListener">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
</center>
<br />
<br />
</ui:define>
</ui:composition>
</h:body>
代码:
public void reset() {
RequestContext.getCurrentInstance().reset("form:panel");
teacherid=null;
classname=null;
interval=null;
studentcode=null;
names=null;
from=null;
}
答案 0 :(得分:0)
尝试使用resetInput组件:
答案 1 :(得分:0)
尝试使用JSF的preRenderView
事件并调用Bean函数:
<f:metadata>
<f:event type="preRenderView" listener="#{rBean.resetValues}"/>
</f:metadata>
如上例所示,rBean
的resetValues函数将在每个页面加载时调用。在此函数中,您可以重置所有bean变量,如下所示:
public void resetValues()
{
setName(null);
setAddress(null);
.
.
.
}