-1

我在 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(),但也没有用。有人可以帮忙吗。

提前非常感谢!

4

1 回答 1

1

如果编辑框被清除,听起来您已将事件设置为完全刷新而不是部分刷新。

清除字段的另一个可能原因是,如果您使用部分执行模式(eventHandler 的源窗格中的 execMode="Partial")但指定了不包括两个编辑框的 execId。(默认情况下,部分执行在当前组件上运行,因此您不应丢失该编辑框的值。)但我认为情况并非如此。

于 2013-06-12T12:40:52.593 回答