p: ajax Событие размытия для p: inputText не вызывается при нажатии p: commandButton - PullRequest
0 голосов
/ 11 февраля 2020

Я хочу передать данные обратно компоненту через 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@.,&amp;- ]/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@.,&amp;- ]/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

Пожалуйста, предоставьте несколько советов по преодолению этого странного поведения.

Примечание: здесь пропущен код, связанный с формой.

...