просто скрыть / показать поведение .... лучшая практика? - PullRequest
0 голосов
/ 12 декабря 2018

Смущает, что у меня часто возникают эти «новые» вопросы, так как я опаздываю на родео XPages для реальной работы.Пожалуйста, будьте осторожны.

Это базовая функциональность, для которой необходимо иметь поле, которое изначально скрыто на новых страницах, пока другой комбинированный список не будет установлен на определенное значение (подумайте о любом общем «другом» поле, то есть толькоотображается, если в главном поле выбрано «Другое».).

Вот моя панель:

      <xp:panel
            id="mod"
            rendered="#{javascript:document1.getItemValueString('approval') === 'modify'}">
            <div class="container">
                <div class="row">
                    <div class="col-md-8">
                        <div class="form-group">
                            <label for="modification">
                                Describe modification
                            </label>
                            <xe:djTextarea
                                id="modification"
                                styleClass="form-control"
                                cols="185"
                                rows="25">
                            </xe:djTextarea>
                        </div>
                    </div>
                </div>
            </div>
        </xp:panel>

, затем мой комбинированный список (см. onchange):

<xp:comboBox
id="approval"
styleClass="form-control"
style="width:400px;">
<xp:this.onchange>
    <![CDATA[XSP.partialRefreshPost("#{id:mod}");]]>
</xp:this.onchange>
<xp:selectItem
    itemLabel="Select one"
    itemValue="">
</xp:selectItem>
<xp:selectItem
    itemLabel="Approve"
    itemValue="approve">
</xp:selectItem>
<xp:selectItem
    itemLabel="Modify"
    itemValue="modify">
</xp:selectItem>    

Когда я изменяю значение комбинированного списка в браузере, я получаю эту ошибку в диалоговом окне:

enter image description here

У меня есть ощущение, что, как только я лучше пойму, как работать с SSJS и идентификаторами элементов, я буду гораздо более продуктивным.Если у кого-то есть ссылка на статью, которая это хорошо объясняет, я бы хотел это знать.

После всего этого бессвязного, вопрос в том, как заставить это частичное обновление работать?

Как всегда, ваши отзывы очень ценятся.

1 Ответ

0 голосов
/ 13 декабря 2018

Проблема в том, что панель «mod» изначально не отображается, поэтому она недоступна / не видна событию onchange.

Поместите панель «mod» в панель «modParent» и сделайте ее цельюваш частичный возврат.

...