简体   繁体   中英

Primefaces InputText stores previous value when present inside the Primefaces Dialog

I have a InputText inside a Dialog as:

<p:dialog header="Demo Header"appendTo="@(body)"
            widgetVar="sectionDialog" id="section_Dialog"
            modal="true">
            
            <h:panelGroup id="myPanel">

                <h:panelGrid columns="4">

                    <h:outputLabel value="Count: "/>

                    <pe:keyFilter mask="num" for="count" />
                    <p:inputText id="count"
                        value="#{myBean.countValue}" converter="spaceConverter">
                    </p:inputText>

                    <p:commandButton id="btnId" process="@this"
                        update="secondPanel" value="ADD" icon="ui-icon-check"
                        action="#{myBean.generateDataTableBasedOnCount()}" ajax="true"
                        partialSubmit="true">
                    </p:commandButton>

                </h:panelGrid>

            </h:panelGroup>


            <h:panelGroup style="border:0" id="secondPanel">
                    ...// data table generated based on Input Count.
            </h:panelGroup> 

</p:dialog>

If I keep the InputText and Button outside the dialog, it works like a charm. But when I keep them inside the Dialog, myBean.countValue always stores the previous input value. When I refresh the page and enter a new value, Old Value is being stored in the bean.

What am I missing here?


PrimeFaces: 5.3

PrimeFaces-Extension: 4.0.0

JSF: 2.2.8


You need to ResetInput of the dialog before you open it.

See: https://www.primefaces.org/showcase/ui/misc/resetInput.xhtml

So on the button that opens your dialog... Its better to reset the FORM but I didn't see the h:form in your example code above.

 <p:commandButton value="Open Dialog" update="section_Dialog">
        <p:resetInput target="section_Dialog"/>
</p:commandButton

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM