XPage中的onchange事件

时间:2013-06-12 08:01:37

标签: xpages

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

提前多多感谢!

1 个答案:

答案 0 :(得分:1)

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

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

相关问题