- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2017 03:19 PM
For reporting purposes, I need to know what Month an inspection has been performed. This is a scoped application, so GlideDateTime doesn't work and neither does getMonth() as far as I can tell. I have been able to pull the month number, but the closest I have come is "undefined" when I am trying to get the Month name. I have a single client script onChange from the variable date field 'initial_inspection_date' and want to populate 'inspection_month' field with January or the correlating name.
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var inspectionDate = g_form.getValue('initial_inspection_date');
var date = inspectionDate.split('-');
var monthNumber = date[1];
function getMonthNameFromMonthNumber(monthNumber)
{
var monthNames = ["January", "February", "March", "Arpil", "May", "June", "July", "August", "September", "October", "November", "December"];
return monthNames[monthNumber];
}
alert(getMonthNameFromMonthNumber(monthNumber)); //results in alert with "undefined"
//g_form.setValue('inspection_month',getMonthNameFromMonthNumber(monthNumber)); ---populates 'inspection_month' field with "undefined"
}
Any help is greatly appreciated!!!
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2017 03:26 PM
Have you tried converting your month number from a string to an integer?
var monthNumber = parseInt(date[1], 10);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2017 03:26 PM
Have you tried converting your month number from a string to an integer?
var monthNumber = parseInt(date[1], 10);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2017 03:33 PM
Chuck...
First of all...you rock. That worked. The only issue I have is that '04' is saying 'May' now...
Do I need to do something in the array or how to interpret since the array starts at zero?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2017 04:06 PM
Hi Neal,
Since your arrays are always going to be zero-based, just use:
...
return monthNames[monthNumber - 1];
Then your "04" will return "Arpil"...
Thanks,
-Brian

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-28-2017 07:02 AM
Thanks for the kind words Neal. To add to Brian's comment, which is very good. Another option (because there's always different ways to do this stuff.)
var monthNumber = parseInt(data[1], 10) - 1;
I kind of like Brian's a bit better because it gives you a chance to validate the value of monthNumber too.
var monthNumber = parseInt(data[1], 10);
// Just in case something really went bad, let's avoid returning an array element -1
if (monthNumber > 0)
--monthNumber;
return monthNames[monthNumber];