如何在p:ajax提交的输入组件上获得p:resetInput功能

时间:2016-02-07 19:09:16

标签: ajax jsf primefaces reset

我有一个文本字段和一个验证器,如下所示。它使用 p:ajax 在更改时提交值,如果字段未通过,验证程序将停止提交。用户按预期获取错误消息(这是update =“msgs ..”所做的)。

然而,当它没有通过时,我想将值重置为之前的值。

                                <p:inputText id="txtName"
                                             value="#{workspace.selectedPath.name}"
                                             style="width: 20%"
                                             validator="validateName"
                                             valueChangeListener="#{workspace.doNameChanged}"
                                             >
                                    <p:ajax update="msgs formTree" />
                                </p:inputText>

以下链接显示了如何在PrimeFaces中使用 p:resetInput 标记,但它不能作为 p:inputText 的一部分工作,因为它不是ActionSource 。如果您将其设为 p:ajax 标记的子项,则会被忽略。有什么建议?

How to reset input fields in a form after validation fail when updating it with new values

1 个答案:

答案 0 :(得分:2)

自PrimeFaces 4.0以来,您可以使用<p:ajax resetValues>

<p:inputText ...>
    <p:ajax ... resetValues="true" />
</p:inputText>

另见: