
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 10:10 PM
Hi Community,
I have 2 variables named-
Required date and expired date. The requirement is that maximum selectable 'expired date' should be 'required date' + 3 months. Can someone help me with this?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 11:06 PM
Hi
Try the below...working..tested..
Write OnChange client script on Expired Date
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var getStartDate = g_form.getValue('u_start_date');
var ga = new GlideAjax('SetEndDate');
ga.addParam('sysparm_name', 'ED');
ga.addParam('sysparm_start_date', getStartDate);
ga.getXML(HelloWorldParse);
function HelloWorldParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (newValue > answer) {
g_form.setValue('u_end_date_new', '');
g_form.addErrorMessage('End Date needs to be within 3 months');
}
}
}
Script Include
var SetEndDate = Class.create();
SetEndDate.prototype = Object.extendsObject(AbstractAjaxProcessor, {
ED: function() {
var getNum = this.getParameter('sysparm_start_date');
var gdt = new GlideDateTime();
gdt.setDisplayValue(getNum);
var newDate = gdt.addMonths(3);
return gdt.getDate();
},
type: 'SetEndDate'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 10:44 PM
Hi,
you can use UI policy for this or Client Script with GlideAjax
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 11:06 PM
Hi
Try the below...working..tested..
Write OnChange client script on Expired Date
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var getStartDate = g_form.getValue('u_start_date');
var ga = new GlideAjax('SetEndDate');
ga.addParam('sysparm_name', 'ED');
ga.addParam('sysparm_start_date', getStartDate);
ga.getXML(HelloWorldParse);
function HelloWorldParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (newValue > answer) {
g_form.setValue('u_end_date_new', '');
g_form.addErrorMessage('End Date needs to be within 3 months');
}
}
}
Script Include
var SetEndDate = Class.create();
SetEndDate.prototype = Object.extendsObject(AbstractAjaxProcessor, {
ED: function() {
var getNum = this.getParameter('sysparm_start_date');
var gdt = new GlideDateTime();
gdt.setDisplayValue(getNum);
var newDate = gdt.addMonths(3);
return gdt.getDate();
},
type: 'SetEndDate'
});