我在使用计算值的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>
值来自profiledocument上的富文本字段。
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()分割( “|”);
而不是
doc.getFirstItem(fieldName的).getValueString()分割( “|”);
答案 0 :(得分:0)
基于讨论:
1)您可以停用验证:http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPagesNoDataValidation.htm
我不确定它会对列表框有所帮助。
2)似乎,该配置文件有问题 - 我的猜测是“输入”或某些关键字的开头或结尾处的某些不可见字符(非常常见于其他来源的复制/粘贴)。尝试切割所有内容,粘贴到记事本,然后复制/粘贴。
顺便说一句,使用Rich Text字段保留关键字是非常奇怪的......
答案 1 :(得分:0)
在问题帖子中查看我的更新!