我在XPage中有两个编辑框和一个标签。
离开开始日期:编辑框 离开结束日期:编辑框 假期:标签
我想计算日期中的差异,并使用以下代码在第二个(离开结束日期)编辑框的onChange事件中使用以下代码在标签中计算它,但是在查看编辑框的值时,它会清除两个字段而没有任何内容得到计算:
var leaveStartDate = document1.getValue("fld_Leave_Start_Date1");
var leaveEndDate = document1.getValue("fld_Leave_End_Date1");
var difference = null;
try{
var nDateStart = session.createDateTime( leaveStartDate );
var nDateEnd = session.createDateTime( leaveEndDate );
difference = nDateEnd.timeDifference(nDateStart);
difference = (Math.floor(difference/86400)) + 1;
}catch(e)
{
return e
}
document1.setValue("fld_NoOfDays",difference);
我尝试了getComponent(“fld_Leave_Start_Date1”)。getSubmittedValue(),但也没有用。 有人可以帮忙。
提前多多感谢!
答案 0 :(得分:1)
如果编辑框被清除,听起来您已将事件设置为完全刷新而不是部分刷新。
清除字段的另一个可能原因是,如果您正在使用部分执行模式(eventMandler的源窗格中的execMode =“Partial”),但已指定了不包含两个编辑框的execId。 (默认情况下,部分执行会在当前组件上运行,因此您不应该丢失该编辑框的值。)但我不认为是这种情况。