Форма фокуса Primefaces

<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 после небольшой задержки, фокус теряется, и вам нужно снова щелкнуть поле ввода.

Как я могу это исправить?


person DD.    schedule 03.06.2013    source источник


Ответы (1)


Это вызвано update="@form" и ожидаемым поведением.

В общем, просто не обновляйте те части, которые не нуждаются в обновлении, и обновляйте только те, которые действительно нуждаются в обновлении. Например. только результат, рассчитанный до сих пор, и <h|p:message> текущего ввода:

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

Правда, это может закончиться шаблоном идентификаторов в атрибуте update в больших формах. Затем могут помочь селекторы PrimeFaces (PFS, поддержка синтаксиса селекторов jQuery в селекторах JSF). много в этом.

person BalusC    schedule 03.06.2013