NotesXspDocument.getValue(“computedFieldName”)未返回当前计算的值

时间:2013-09-27 18:50:03

标签: xpages xpages-ssjs

为什么在提交xpages时没有返回计算字段的当前值?

var newHTTPPassword = this.userProfileXspDoc.getValue("HTTPPassword");

其中HTTPpassword是具有公式

的计算字段
@Password(HTTPPassword_1).

xpages是在两者上计算的。

1 个答案:

答案 0 :(得分:1)

计算字段仅在Notes表单中。当您提交XPage时,提交的事件中可以使用提交的值,但是使用Notes表单的“computeWithForm”将对其进行修改。 除非你在表单中改编了大量@Logic的现有应用程序,否则我会尽量避免使用表单进行计算。使用session.evaluate进行转换(这样可以节省2个字段的需要)。 按照Per的建议.getSubmittedValue()可能有效。但是,我宁愿将输入字段HTTPassword_1绑定到viewScope.password,在querySave中执行类似的操作:

if (viewScope.password) { // If it isn't empty
    var realPassword = session.evaluate("@Password(\""+viewScope.password+"\")");
    userProfileXspDoc.setValue("HTTPPassword",realPassword);
    // Clear the scope for next round?
    viewScope.password = null;
}

这样就无需从文档中清除HTTPassword_1。

让我们知道它是怎么回事