【发布时间】:2014-09-05 11:32:24
【问题描述】:
以下 sn-p 有效:
<h:form id="form1">
<h:inputHidden value="#{bean.field1}" id="field1"/>
<h:inputHidden value="#{bean.field2}" id="field2"/>
<h:inputHidden value="#{bean.field3}" id="field3"/>
<h:inputHidden value="#{bean.field4}" id="field4"/>
<h:inputHidden value="#{bean.field5}" id="field5"/>
<h:inputHidden value="#{bean.field6}" id="field6"/>
<h:inputHidden value="#{bean.field7}" id="field7"/>
<h:inputHidden value="#{bean.field8}" id="field8"/>
<h:inputHidden value="#{bean.field9}" id="field9"/>
<p:remoteCommand name="loadRecord" actionListener="#{bean.loadRecord}"
process="@this"
update="field1 field2 field3 field4 field5 field6 field7 field8 field9" />
</h:form>
问题是当要更新的字段数量很大时(我有另一个页面有 40 个字段),它变得无法维护。
我尝试改用
<p:remoteCommand name="loadRecord" actionListener="#{bean.loadRecord}"
process="@this" update="@form" />
但字段未更新。有什么想法吗?
更新:
这个问题不仅限于隐藏字段,它似乎适用于任何输入字段,例如
<h:inputText id="name" value="#{bean.name}" />
【问题讨论】:
-
对我来说很好。哪个PF版本?确定您正在运行您认为正在运行的代码? ajax 响应是怎样的?也许您正在嵌套表单?
-
我使用的是 PF 3.5。枚举字段时代码运行正确,但是当我用
@form或form1或:form1替换它们时,代码不起作用。表格没有嵌套。不确定如何查看 ajax 响应。 -
我刚刚尝试使用 PF 5.0 并遇到同样的问题
-
在合适的浏览器中按 F12 以获取带有 HTTP 流量监控器的 Web 开发人员工具集(通常在“网络”选项卡/部分中)。选择ajax请求查看请求参数和响应正文。
-
我刚刚看到了两种场景的XHR响应。在这两种情况下,都会填充输入字段(inputHidden 和 inputText 字段),但在 @form 场景中,响应还包含大量 HTML 页面,这似乎不正确。
标签: jsf primefaces