- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2020 05:54 PM
I am working on functionality as below
I have two fields on catalog item includes – start date and end date. We do not want users to select end date not more than 6 months from start date.
For example: start date = 07/22/2020
If End date = 1/22/2021 (technically difference is more than 180 days because of few months has 31 days ).
Let us say if end user selects 1/23/2021 as end date, then I should alert them saying not to select as it is more than 6 months calendar days.
I would really appreciate your help.
Thanks
Lakshman
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2020 07:27 PM
Hi Lakshman,
Client Script : onChange (end date)
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ga = new GlideAjax('ScriptIncludeName');
ga.addParam('sysparm_name', 'addMonths');
ga.addParam('start_date', g_form.getValue('start_date'));
ga.addParam('months_to_add', 6);
ga.getXML(getEndDate);
}
function getEndDate(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (answer) {
if(g_form.getValue('end_date') > answer) {
alert("End date should be less than " + answer);
}
}
}
Script Include :
var ScriptIncludeName = Class.create();
ScriptIncludeName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
addMonths: function() {
var start_date = this.getParameter('start_date');
var months = this.getParameter('months_to_add');
var gdt = new GlideDateTime(start_date);
gdt.addMonths(months);
return gdt.getDate();
},
}
This will solve your issue of 180 days.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2020 09:14 PM
Hi Naveen,
I am getting Null as return value from script include when I implemented yours.
Thanks
Lakshman
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2020 10:39 PM
Hey Lakshman,
Check out this below similar thread it will help you,
kindly mark Correct and Helpful if Applicable.
Regards,
Indrajit.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-22-2020 05:18 AM
Apologies, my bad can you replace
- start_date with sysparm_start_date
- months_to_add with sysparm_months_to_add
in both the client script and script include. That should work fine.