jsf - 对话框中的 InputTextarea 不应处理,但它确实处理

标签 jsf primefaces

我在对话框中有一个 inputTextArea,并希望当用户单击取消按钮时不应发送/更改 bean 属性,但确实如此。

<p:dialog header="Notizen" id="paketNotizenDialog" modal="true"
            widgetVar="paketNotizenDialogWV">
            <h:form>
                <p:panelGrid columns="1">
                    <p:inputTextarea  scrollHeight="200" rows="6" cols="33" autoResize="false"
                        value="#{paketErstellenDialogController.selectedPaket.notiz}" />
                </p:panelGrid>
                <p:commandButton value="Save" process="@form" oncomplete="PF('paketNotizenDialogWV').hide();"/>

                <p:commandButton value="Cancel" oncomplete="PF('paketNotizenDialogWV').hide();" process="@none" update="@none" />
            </h:form>
        </p:dialog>

打开对话框的按钮:

<p:commandButton id="notizEintragButton" value="T" process="@this"
                        onclick="PF('paketNotizenDialogWV').show();" />

有什么提示吗?提前致谢。

最佳答案

当您使用commandButton时,默认行为是使用ajax请求提交封闭表单。

我怀疑您在这里想要做的是重置表单输入并关闭对话框。在这种情况下,您应该选择 type="reset",根据 primefaces 文档:

Reset buttons do not submit the form, just resets the form contents.

完成后,触发关闭 JavaScript 代码:

<p:commandButton value="Cancel" type="reset" 
      onclick="PF('paketNotizenDialogWV').hide();"/>

如果您不想重置表单,只需关闭对话框然后使用:

<p:commandButton value="Cancel" type="button" 
    onclick="PF('paketNotizenDialogWV').hide();"/>

根据 primefaces 文档,这将:

Push buttons are used to execute custom javascript without causing an ajax/non-ajax request. To create a push button set type as "button"

更新

如果您想重置支持 bean 的值,请使用 reset input fields primefaces 的功能。

在你的情况下,它会是这样的:

<p:panelGrid columns="1">
       <p:inputTextarea  id="input" scrollHeight="200" rows="6" cols="33" autoResize="false"
              value="#{paketErstellenDialogController.selectedPaket.notiz}" />
</p:panelGrid>

<p:commandButton value="Cancel" oncomplete="PF('paketNotizenDialogWV').hide();" 
     process="@this" update="input" >
    <p:resetInput target="input" />
</p:commandButton>

关于jsf - 对话框中的 InputTextarea 不应处理,但它确实处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42577503/

相关文章:

jsf - 将 JSF 错误重定向到日志文件

java - JSF:将 A.jsf 设置为键入 mydomain.com 时要转到的默认页面

javascript - Event.observe 原型(prototype) Javascript 效率低下,替代品?

更新/删除查询中的 javax.persistence.TransactionRequiredException

css - </p :panel> 内容的水平居中对齐问题

jsf - 使用 <f :view> on the template page in JSF

jsf - javax.faces.application.ViewExpiredException : View could not be restored

javascript - p :commandButton mull functioning

java - JSF 项目的组件库

css - Primefaces css 覆盖自定义 css