添加 10 天与选定的日期 -on-change 方法 -现在服务

Add 10 days with selected date -on-change method -service now

我有 2 个日期字段 issued datedue date。当我选择签发日期时,应通过添加 10 天和所选日期来自动填充到期日期。我已经为此写了 on-change 方法

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }

    //var issuedDate=new GlideDateTime(g_form.getValue('u_issued_date'))
    //var issuedDate=g_form.getValue('u_issued_date')
    alert(issuedDate)
    var gdt = new GlideDateTime(issuedDate);
    gdt.addDays(10)
    g_form.setValue('u_due_date',gdt);
}

我遇到错误 GlideDateTime is not defined function ()。我该如何实现?还有其他办法吗?

GlideDateTime 在客户端不可用。对于您所拥有的简单操作,您可以使用 javascript Date 对象。格式化很痛苦,但可行,例如:

var date = new Date(g_form.getValue('u_issued_date'));
date.setDate(date.getDate() + 10);  //add 10 days
g_form.setValue('u_due_date', formatDate(date));

function formatDate (date) {
    return date.getFullYear() + '-' +
        leadingZero(date.getMonth() + 1) + '-' +
        leadingZero(date.getDate()) + ' ' +
        date.getHours() + ':' +
        date.getMinutes() + ':' +
        date.getSeconds();
}

function leadingZero (value) {
    return ("0" + value).slice(-2);
}

对于更复杂的操作,您希望 GlideDateTime 您将不得不使用 GlideAjax,它将在服务器端进行操作,并提供结果。