Я хочу передать данные обратно компоненту через ajax вызов по нажатию кнопки команды. У меня есть форма с парой полей ввода текста, где каждое поле имеет ajax событие размытия. Все работает нормально в счастливом потоке, за исключением текущего сценария.
Ajax событие размытия вызывается, когда я непосредственно нажимаю на кнопку отправки, что должно произойти до нажатия кнопки отправки, поэтому я должен сделать еще один щелчок на кнопке подтверждения, чтобы вызвать ajax вызов, чтобы сохранить мою форму.
Вот код.
Поля ввода текста:
<p:inputText id="txt_name"
value="#{partnerVO.partnerName}"
required="true" maxlength="30"
rendered="#{!partnerVO.isReadOnly}">
<p:keyFilter regEx="/[A-Za-z0-9@.,&- ]/i"
for="txt_name" preventPaste="false" />
<p:ajax update="txt_name" event="blur" />
</p:inputText>
<p:inputText id="txt_assigned"
value="#{partnerVO.assignedName}"
required="true" maxlength="30"
rendered="#{!partnerVO.isReadOnly}">
<p:keyFilter regEx="/[A-Za-z0-9@.,&- ]/i"
for="txt_assigned" preventPaste="false" />
<p:ajax update="txt_assigned" event="blur" />
</p:inputText>
Кнопка управления:
<p:commandButton id="btn_save"
title="Save"
value="#{lbl['tpdetails.remove.additional.address']}"
update="@form" process="@this"
action="#{partnerDetailsController.save}">
</p:commandButton>
Я использую JSF 2.2
Пожалуйста, предоставьте несколько советов по преодолению этого странного поведения.
Примечание: здесь пропущен код, связанный с формой.