如何将onchange事件附加到Xpages中的dojo列表文本框?

如何将onchange事件附加到Xpages中的dojo列表文本框?,xpages,lotus-domino,Xpages,Lotus Domino,使用8.5.3,我有一个带有值选择器的Xpage,它填充dojo列表文本框。这个很好用。但是,我需要根据从值选择器中选择的内容填充一些其他字段。如果我在DominoDesigner中转到ListTextBox的事件面板添加事件,它会显示错误,但在ListTextBox的所有属性面板中会列出事件。这些事件是客户端事件,虽然不理想,但我可以解决。但是,即使是一个简单的警报框也无法从这些事件中工作 以下是我的示例代码: <xe:djextListTextBox id="dLinkedGroups

使用8.5.3,我有一个带有值选择器的Xpage,它填充dojo列表文本框。这个很好用。但是,我需要根据从值选择器中选择的内容填充一些其他字段。如果我在DominoDesigner中转到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等。。但这并不能真正帮助我:-(也许还有其他方法可以做到这一点?

您可以尝试在页面加载后将javascript函数连接到事件(如Marky的问题-)

将以下代码放在XPage或CC的OnClient Load客户端javascript上:

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

X1必须是任何唯一标识符。此外,请从代码中删除onchange属性。

感谢您的回答。我尝试了实现您的解决方案(以及Markys问题中的解决方案),但它似乎没有做任何事情。相同的结果——没有触发事件。抱歉,我在快速响应时搞砸了。我已经测试了上面的代码,它正在工作。XSP.addOnLoad和dojo.addOnLoad的工作原理不同,我猜。它确实起作用了!!有趣的是,我刚刚提出了一个解决方案,将valuePicker的值放入一个隐藏的inputText字段中,然后en根据隐藏字段值对listTextBox进行了部分刷新,然后针对listTextBox的onclick事件(它本身可以工作),我更新了隐藏的inputText..一个俗气的解决方案..但它确实有效。我更喜欢你的解决方案。再次感谢!事实上,我们正在将此事件添加到小部件内的一个秘密编辑框:)