Почему .getComponent (). GetValue () возвращает ноль, в то время как к CS JS можно получить доступ? - PullRequest
0 голосов
/ 01 марта 2020

У меня есть поле ввода типа пароля, например:

    <xp:td id="passwordInputTd" align="right">
        <xp:inputText id="passwordInputValue" password="true">
        </xp:inputText>
    </xp:td>

Когда я пытаюсь получить значение в SS JS, например:

<xp:button id="signInButton"
                    styleClass="prettyEGRZButton prettyEGRZButtonActive"
                    style="width: 50%; padding: 10px;" value="Sign In" />
                <xp:eventHandler event="onclick" submit="true"
                    refreshMode="complete">
                    <xp:this.script><![CDATA[
                    console.log("CSJS value: " + document.getElementById("#{id:passwordInputValue}").value);
                    ]]></xp:this.script>

                    <xp:this.action><![CDATA[#{javascript:              
                    var passwordValue = getComponent('passwordInputValue').getValue());
                    }]]>
                    </xp:this.action>
                </xp:eventHandler>

Возвращает null без всякой уважительной причины.

Интересная часть здесь в том, что он работает, как и ожидалось, во фрагменте

console.log("CSJS value: " + document.getElementById("#{id:passwordInputValue}").value);

Я напечатал его в CS JS, но в SS JS это почти всегда ноль (но не всегда!)

В чем проблема?

Заранее спасибо

...