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

时间:2012-03-30 14:12:38

标签: xpages lotus-domino

使用8.5.3,我有一个带有值选择器的Xpage,它填充了一个dojo列表文本框。这很好用。但是,我需要根据值选择器中的选择填充其他一些字段。如果我转到domino设计器中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 个答案:

答案 0 :(得分:2)

您可以尝试在页面加载后将javascript函数连接到事件(如Marky的问题 - Getting the dijit for a typeAhead in XPages

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

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

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