有时不调用af:inputText的valueChangeListener

时间:2019-06-18 14:42:20

标签: javascript java jsp oracle-adf

我在表单中有一个带有af:inputText的jsp,我将自己的bean的方法附加为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><%--

当更改文本字段的值时,我在服务器端调试了bean的forderungsbetragChangeListener(ValueChangeEvent)方法。该方法有时被调用,有时不被调用,我不知道为什么每次都没有调用它。
我还调试了浏览器中的javascript,因为我认为也许isBetrag()函数可以链接到对bean的调用之前,但是js函数始终返回true,所以return false;部分永远不会执行,因此永远无法阻止对Bean的链接的先前调用被调用。
我还尝试调试javascript部分,该部分调用服务器端Bean,但是该代码当然是由框架生成的,几乎无法读取。
我没办法继续搜索发生了什么。有谁知道我怎么做才能找出为什么有时不叫听者的想法?或更好:有人知道为什么无法调用该监听器吗?

0 个答案:

没有答案