How to add one year to a date field using client script(on change) + script include

Not applicable

How to add one year to a date field using client script(on change) + script include
There are two fields
Start date and End date 

whenever I will select Start date I want to put one year to the End date by using on change client script

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron

Hi,

Sample script below using GlideAjax

Script Include: It should be client callable

var checkRecords = Class.create();
checkRecords.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    
    calculateDate: function(){

        var date = this.getParameter('sysparm_date');
        var year = 1;
        var gdt = new GlideDateTime(date);
        gdt.addYearsUTC(year);
        return gdt.getDate();
    },
    
    type: 'checkRecords'
});

onChange client script:

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

var ga = new GlideAjax('checkRecords');
    ga.addParam('sysparm_name', "calculateDate");
    ga.addParam('sysparm_date', g_form.getValue('start_date')); // give here date variable name
    ga.getXMLAnswer(function(answer){
        if(answer != ''){
            g_form.setValue('end_date', answer); // give proper variable name here
        }
    });
    //Type appropriate comment here, and begin script below

}

Regards
Ankur

View solution in original post

5 REPLIES 5

Ankur Bawiskar
Tera Patron

Hi,

Sample script below using GlideAjax

Script Include: It should be client callable

var checkRecords = Class.create();
checkRecords.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    
    calculateDate: function(){

        var date = this.getParameter('sysparm_date');
        var year = 1;
        var gdt = new GlideDateTime(date);
        gdt.addYearsUTC(year);
        return gdt.getDate();
    },
    
    type: 'checkRecords'
});

onChange client script:

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

var ga = new GlideAjax('checkRecords');
    ga.addParam('sysparm_name', "calculateDate");
    ga.addParam('sysparm_date', g_form.getValue('start_date')); // give here date variable name
    ga.getXMLAnswer(function(answer){
        if(answer != ''){
            g_form.setValue('end_date', answer); // give proper variable name here
        }
    });
    //Type appropriate comment here, and begin script below

}

Regards
Ankur

@prabhjot 

Glad to help.

Please mark response helpful as well.

Regards
Ankur

Ankur Bawiskar
Tera Patron

Hi,

it can be done without Script Include as well i.e. directly using client script

Regards
Ankur

Hi Ankur,

How to do this without Script Include ?

What is the code if directly using client script?

Thanks