如何将 onComplete 事件添加到 Xpages extLib valuePicker 控件
How to add an onComplete event to the Xpages extLib valuePicker control
我的 XPage 上有一个 extensionLibrary valuePicker 控件,我想在用户选择后 运行 一些搜索代码。我怎样才能做到这一点。任何 onComplete 事件?我想省略目标字段中的 "onchange" 事件(用户可以手动更改它,然后我想在输入或搜索按钮单击时开始搜索)
<xe:valuePicker id="valuePicker1"
for="TargetField" pickerText="Select"
dialogTitle="Select">
<xe:this.dataProvider>
<xe:simpleValuePicker labelSeparator="|">
<xe:this.valueList><![CDATA[#{javascript:getMyValues()}]]></xe:this.valueList>
</xe:simpleValuePicker>
</xe:this.dataProvider>
</xe:valuePicker>
从源代码看,Value Picker 调用 XSP.selectValue() 传入对话框的 dojoType 以显示,默认为 extlib.dijit.PickerList
。它触发 AJAX 请求来检索值,但打开和关闭对话框仅通过 CSJS 完成。所以没有像部分刷新这样的 onComplete 事件。并且关闭时没有将 CSJS 添加到 运行 的当前挂钩。但是可以扩展 JavaScript 文件并改为触发它。我不确定在您的用例中,您的编辑框控件需要哪些相应的代码。
我的首选方法是使用 Dojo 列表文本框来保存选定的值(而不是编辑框或其他手动可编辑的组件),然后在该目标字段上使用 onChange 事件。我个人觉得它提供了更好的用户体验,不鼓励手动输入并避免需要验证用户输入的编辑框。
我的 XPage 上有一个 extensionLibrary valuePicker 控件,我想在用户选择后 运行 一些搜索代码。我怎样才能做到这一点。任何 onComplete 事件?我想省略目标字段中的 "onchange" 事件(用户可以手动更改它,然后我想在输入或搜索按钮单击时开始搜索)
<xe:valuePicker id="valuePicker1"
for="TargetField" pickerText="Select"
dialogTitle="Select">
<xe:this.dataProvider>
<xe:simpleValuePicker labelSeparator="|">
<xe:this.valueList><![CDATA[#{javascript:getMyValues()}]]></xe:this.valueList>
</xe:simpleValuePicker>
</xe:this.dataProvider>
</xe:valuePicker>
从源代码看,Value Picker 调用 XSP.selectValue() 传入对话框的 dojoType 以显示,默认为 extlib.dijit.PickerList
。它触发 AJAX 请求来检索值,但打开和关闭对话框仅通过 CSJS 完成。所以没有像部分刷新这样的 onComplete 事件。并且关闭时没有将 CSJS 添加到 运行 的当前挂钩。但是可以扩展 JavaScript 文件并改为触发它。我不确定在您的用例中,您的编辑框控件需要哪些相应的代码。
我的首选方法是使用 Dojo 列表文本框来保存选定的值(而不是编辑框或其他手动可编辑的组件),然后在该目标字段上使用 onChange 事件。我个人觉得它提供了更好的用户体验,不鼓励手动输入并避免需要验证用户输入的编辑框。