我的XPage上有一个extensionLibrary valuePicker控件,我想在用户选择后运行一些搜索代码。我怎么能得到这个。任何onComplete事件?我想在目标字段中省略“onchange”事件(用户可以手动更改它,然后我想开始搜索Enter或搜索按钮点击)
<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>
答案 0 :(得分:2)
从源代码看,值Picker调用XSP.selectValue()调用默认情况下extlib.dijit.PickerList
显示的对话框的dojoType。它触发AJAX请求以检索值,但是仅通过CSJS打开和关闭对话框。所以没有像部分刷新那样的onComplete事件。并且在关闭时没有添加CSJS的当前钩子。但是可以扩展JavaScript文件并触发它。我在您的用例中不确定您的编辑框控件需要哪些相应的代码。
我首选的方法是使用Dojo列表文本框来保存选定的值(而不是编辑框或其他可手动编辑的组件),然后在该目标字段上使用onChange事件。我个人认为它提供了更好的用户体验,不鼓励手动输入,并且无需验证编辑框以供用户输入。