Как мне прикрепить событие onchange к текстовому полю списка dojo в Xpages? - PullRequest
1 голос
/ 30 марта 2012

Используя 8.5.3, у меня есть Xpage со средством выбора значения, которое заполняет текстовое поле списка dojo.Это отлично работает.Тем не менее, мне нужно заполнить некоторые другие поля на основе выбора из выбора значения.Если я иду на панель событий для ListTextBox в дизайнере домино, чтобы добавить события, он показывает ошибки, но на панели всех свойств ListTextBox есть события в списке.Эти события являются событиями на стороне клиента, которые хотя и не идеальны, но я могу обойти их.Однако даже простое окно предупреждения не работает от этих событий.

Вот мой пример кода:

<xe:djextListTextBox id="dLinkedGroupsIDsTX"
    multipleSeparator="," intermediateChanges="true" displayLabel="true"
    value="#{document1.dLinkedGroupsTX}" onChange="alert('change');">
</xe:djextListTextBox>
<xe:valuePicker id="valuePicker1" for="dLinkedGroupsIDsTX"
    dialogTitle="Linked Groups" pickerIcon="add.png" listWidth="700px">
    <xe:this.dataProvider>
        <xe:simpleValuePicker valueListSeparator=","
            labelSeparator="~">
            <xe:this.valueList><![CDATA[#{javascript:@DbColumn("","vwGroupLU",4)}]]></xe:this.valueList>
        </xe:simpleValuePicker>
    </xe:this.dataProvider>
</xe:valuePicker>

Любая помощь будет принята с благодарностью!

ОБНОВЛЕНИЕ Из дальнейших испытаний видно, что все остальные события, похоже, срабатывают.onFocus, onClick и т. д. Но это не очень помогает мне :-( Возможно, есть другой способ сделать это?

1 Ответ

2 голосов
/ 30 марта 2012

Вы можете попытаться подключить свою функцию javascript к событию после загрузки страницы (как в вопросе Марки - Получение dijit для typeAhead в XPages )

Поместите следующий код на свойonClientLoad клиентский JavaScript-код XPage или CC:

dojo.addOnLoad(function(){
  XSP.attachEvent("X1","#{id:dLinkedGroupsIDsTX}", "onchange",
                    function() { alert("changed");}, false, 2);
});

X1 должен быть любым уникальным идентификатором.Также удалите атрибут onchange из своего кода.

...