valueChangeListener af: inputText иногда не вызывается - PullRequest
0 голосов
/ 18 июня 2019

У меня есть jsp с af:inputText внутри формы, к которому у меня есть метод моего бина как valueChangeListener.

--%><af:form id="form1" usesUpload="true" inlineStyle="padding: 1px;"><%--
    --%><af:panelGroup layout="vertical" styleClass="editFrame"><%--
        --%><afh:tableLayout width="100%"><%--
            --%><afh:rowLayout><%--
                --%><afh:cellFormat><%--
                    --%><af:panelForm maxColumns="1" 
                                            labelWidth="200px" 
                                            styleClass="pubPanelForm"                                                 
                                            partialTriggers="<some values>"><%--
                        --%><af:panelLabelAndMessage label="Nachforderung insgesamt" rendered="#{dokumentPflegenBean.renderForderungsbetrag}"><%--
                            --%><af:inputText value="#{dokumentPflegenBean.forderungsbetrag}"
                                              id="p_betrag"
                                              disabled="#{dokumentPflegenBean.forderungsbetragDisabled}"
                                              autoSubmit="true"
                                              onfocus="doFocus(this); setCurrentFocus(this); setAutocompleteOff(this);"
                                              onblur="doBlur(this); setAutocompleteOff(this); if (!isBetrag(this)) return false;"
                                              immediate="true"
                                              maximumLength="14"
                                              columns="14"
                                              onchange="if (!isBetrag(this)) return false;"
                                              valueChangeListener="#{dokumentPflegenBean.forderungsbetragChangeListener}"
                                              simple="true">
                                --%><af:attribute name="valueChangeSource" value="betrag"/><%--
                            --%></af:inputText><%--
                        --%></af:panelLabelAndMessage><%--
                    --%></af:panelForm><%--
                --%></afh:cellFormat><%--
            --%></afh:rowLayout><%--
        --%></afh:tableLayout><%--
    --%></af:panelGroup><%--
--%></af:form><%--

Я отладил метод forderungsbetragChangeListener(ValueChangeEvent) моего компонента на стороне сервера при изменении значения текстового поля. Этот метод иногда вызывается, а иногда нет, и я понятия не имею, почему он не вызывается каждый раз.
Я также отладил javascript в своем браузере, потому что подумал, что, возможно, функция isBetrag() может быть прикована цепью перед вызовом bean-компонента, но функция js всегда возвращает true, поэтому часть return false; никогда не выполняется и поэтому никогда не может помешать вызову предшествующего вызова в цепочку bean.
Я также попытался отладить часть javascript, которая вызывает bean-компонент на стороне сервера, но этот код, конечно, генерируется платформой и его почти невозможно прочитать.
У меня заканчиваются идеи, как продолжить поиск того, что происходит. У кого-нибудь есть идеи, что я могу сделать, чтобы выяснить, почему слушателя иногда не вызывают? Или лучше: кто-нибудь знает, почему не может быть вызван слушатель?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...