xpages を送信したときに計算フィールドの現在の値が返されなかったのはなぜですか?
var newHTTPPassword = this.userProfileXspDoc.getValue("HTTPPassword");
ここで、HTTPpassword は数式を含む計算フィールドです
@Password(HTTPPassword_1).
xpages は両方で計算されます。
xpages を送信したときに計算フィールドの現在の値が返されなかったのはなぜですか?
var newHTTPPassword = this.userProfileXspDoc.getValue("HTTPPassword");
ここで、HTTPpassword は数式を含む計算フィールドです
@Password(HTTPPassword_1).
xpages は両方で計算されます。
計算フィールドは Notes フォームのみにあります。XPage を送信すると、送信された値は送信イベントで使用できますが、Notes フォームを使用する「computeWithForm」で行われる変更は使用できません。フォームに多数の @Logic を含む既存のアプリケーションを再適合させない限り、フォームでの計算は避けようとします。変換には session.evaluate を使用します (これにより、2 つのフィールドを持つ必要がなくなります)。提案どおり .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 をクリアする必要がなくなります。
それがどうなるか教えてください