我的数据库允许匿名访问数据库并提交表单以进行处理 它有[Applicant]、[Admin]、[Reviewer] 3个 Angular 色
问题:
我需要通过组合 3 个不同的“邮件”字段来更新“电子邮件”字段。所以我使用添加元素,但它似乎保存了错误的数据,它给了一个额外的 [applicant]。附加图像将显示它的显示方式
var v;
// Update mail 1 and mail 2 and mail3 into Email field!
if
(
(document1.getValue("Mail1")!=null && document1.getValue("Mail1")!="")&&
(document1.getValue("Mail2")!=null && document1.getValue("Mail2")!="")&&
(document1.getValue("Mail3")!=null && document1.getValue("Mail3")!="")
) //all not empty
{
v.addElement(document1.getValue("Mail1")+"@brookedockyard.com.my");
v.addElement(document1.getValue("Mail2")+"@brookedockyard.com.my");
v.addElement(document1.getValue("Mail3")+"@brookedockyard.com.my");
document1.replaceItemValue("Email",v)
else if
(
(document1.getValue("Mail1")!=null && document1.getValue("Mail1")!="")&&
(document1.getValue("Mail2")==null && document1.getValue("Mail2")=="")&&
(document1.getValue("Mail3")===null && document1.getValue("Mail3")=="")
) // only have mail 1
{
document1.replaceItemValue("Email", document1.getValue("Mail1")+"@brookedockyard.com.my")
}
else if
(
(document1.getValue("Mail1")!=null && document1.getValue("Mail1")!="")&&
(document1.getValue("Mail2")!=null && document1.getValue("Mail2")!="")&&
(document1.getValue("Mail3")==null && document1.getValue("Mail3")=="")
) // only have mail 1 and mail 2
{
v.addElement(document1.getValue("Mail1")+"@brookedockyard.com.my");
v.addElement(document1.getValue("Mail2")+"@brookedockyard.com.my");
document1.replaceItemValue("Email",v)
else if
(
(document1.getValue("Mail1")!=null && document1.getValue("Mail1")!="")&&
(document1.getValue("Mail2")==null && document1.getValue("Mail2")=="")&&
(document1.getValue("Mail3")!=null && document1.getValue("Mail3")!="")
) // only have mail 1 and mail 3
{
v.addElement(document1.getValue("Mail1")+"@brookedockyard.com.my");
v.addElement(document1.getValue("Mail3")+"@brookedockyard.com.my");
document1.replaceItemValue("Email",v)
}
我正在使用服务器端 javascript 来保存文档。但是在保存期间它会在系统内部添加额外的信息。
最佳答案
我认为您的代码需要一些优化。此代码与您的相同:
var v = [];
["Mail1", "Mail2", "Mail3"].forEach(function(name) {
if (document1.getValue(name)) {
v.push(document1.getValue(name)+"@brookedockyard.com.my");
}
});
document1.replaceItemValue("Email",v);
此外,它将变量 v
初始化为一个空数组。尽可能使用数组而不是向量。它更像 JavaScript 原生。
关于javascript - Xpages 设置值错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430259/