Добавить 10 дней с выбранной датой -on-change метод -service сейчас - PullRequest
0 голосов
/ 27 августа 2018

У меня есть 2 поля даты issued date и due date. Когда я выбираю дату выпуска, срок оплаты должен заполняться автоматически, добавляя 10 дней с выбранной датой.Я написал метод замены для этого

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 (). Как мне этого добиться?Есть ли другой способ?

1 Ответ

0 голосов
/ 28 августа 2018

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, который будет выполнять операции на стороне сервера и обеспечивать результат.

...