XPage:OnClick 事件列表框无法正常工作
XPage: OnClick Event Listbox don't work properly
我在使用计算值的 xpage 上使用列表框
<xp:listBox id="listboxAutorInstitution"
styleClass="listBoxPicklist">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:getValuesPicklist("authorRT")}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="ondblclick"
submit="true" refreshMode="partial" refreshId="ccAuthor">
<xp:this.action><![CDATA[#{javascript:view.postScript("console.log('" + getComponent("listboxAuthor").value +"')")}]]></xp:this.action>
</xp:eventHandler>
</xp:listBox>
这些值来自个人资料文档中的富文本字段。
function getValuesPicklist(fieldName) {
var db: NotesDatabase = session.getCurrentDatabase();
var doc: NotesDocument = db.getProfileDocument("(Config)", "");
var list = @Trim(doc.getFirstItem(fieldName).getValueString().split("|"));
return list.sort(function(a, b) {
return a.toLowerCase().localeCompare(b.toLowerCase());
});
}
如果我在浏览器上加载 xpage 并从列表框中单击一个元素,console.log('') 脚本对于某些元素仅 运行。
跟踪日志显示以下错误消息:
验证错误:值无效
这种行为的原因可能是什么?
已解决:
我使用
解决了这个问题
doc.getFirstItem(fieldName).getUnformattedText().split("|");
而不是
doc.getFirstItem(fieldName).getValueString().split("|");
基于讨论:
1) 您可以禁用验证:http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPagesNoDataValidation.htm
不过我不确定它对列表框是否有帮助。
2) 似乎,该配置文件有问题 - 我的猜测是 "enter" 或某些关键字开头或结尾处的某个不可见字符(与来自其他来源的 copy/paste 很常见).尝试剪切所有内容,粘贴到记事本,然后 copy/paste 返回。
顺便说一句,使用富文本字段来保留关键字很奇怪...
请参阅我在问题 post 中的更新!
我在使用计算值的 xpage 上使用列表框
<xp:listBox id="listboxAutorInstitution"
styleClass="listBoxPicklist">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:getValuesPicklist("authorRT")}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="ondblclick"
submit="true" refreshMode="partial" refreshId="ccAuthor">
<xp:this.action><![CDATA[#{javascript:view.postScript("console.log('" + getComponent("listboxAuthor").value +"')")}]]></xp:this.action>
</xp:eventHandler>
</xp:listBox>
这些值来自个人资料文档中的富文本字段。
function getValuesPicklist(fieldName) {
var db: NotesDatabase = session.getCurrentDatabase();
var doc: NotesDocument = db.getProfileDocument("(Config)", "");
var list = @Trim(doc.getFirstItem(fieldName).getValueString().split("|"));
return list.sort(function(a, b) {
return a.toLowerCase().localeCompare(b.toLowerCase());
});
}
如果我在浏览器上加载 xpage 并从列表框中单击一个元素,console.log('') 脚本对于某些元素仅 运行。
跟踪日志显示以下错误消息:
验证错误:值无效
这种行为的原因可能是什么?
已解决: 我使用
解决了这个问题doc.getFirstItem(fieldName).getUnformattedText().split("|");
而不是
doc.getFirstItem(fieldName).getValueString().split("|");
基于讨论:
1) 您可以禁用验证:http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPagesNoDataValidation.htm
不过我不确定它对列表框是否有帮助。
2) 似乎,该配置文件有问题 - 我的猜测是 "enter" 或某些关键字开头或结尾处的某个不可见字符(与来自其他来源的 copy/paste 很常见).尝试剪切所有内容,粘贴到记事本,然后 copy/paste 返回。
顺便说一句,使用富文本字段来保留关键字很奇怪...
请参阅我在问题 post 中的更新!