0
<p:inputText value="#{bmiCalculatorBean.height}" update="@form" id="height">
                            <p:ajax update="@form" />
                            <f:convertNumber pattern="0" />
</p:inputText>


<p:inputText value="#{bmiCalculatorBean.weight}" update="@form" id="weight">
                            <p:ajax update="@form" />
                            <f:convertNumber pattern="0" />
</p:inputText>

我有一个问题,在我在第一个 inputText 中输入一个值并在短暂延迟后单击“权重”inputText 后,焦点会丢失,您需要再次单击输入框。

我该如何解决?

4

1 回答 1

0

这是由update="@form"预期行为引起的。

一般来说,不要更新不需要更新的部分,更新真正需要更新的部分。例如,只有到目前为止计算的结果和<h|p:message>当前输入的结果:

<p:ajax update="calculatedResult currentInput_message" />

诚然,这可能会update以大型形式属性中的 ID 样板告终。PrimeFaces 选择器(PFS,在 JSF 选择器中支持 jQuery 选择器语法)可能在这方面有很大帮助。

于 2013-06-03T18:06:21.433 回答