Copy this script into ServiceNow under application x_786686_hr_leave (Australia). Table/API names already use the current scope.
Source: src/client/client_scripts/CS2_calc_days_glideajax.js
/**
* Client Script: CS2 - Calculate Days (GlideAjax)
* Application: Custom · Scope: x_786686_hr_leave · sys_id: c84db0e8839f0b509f02b0d6feaad3c9
* Table: x_786686_hr_leave_req_v2
* Type: onChange
* Field: u_end_date
*
* Calls HRLXProLeaveUtilsV2.ajaxGetBusinessDays asynchronously to fill u_days_count.
*/
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') return;
var start = g_form.getValue('u_start_date');
var end = g_form.getValue('u_end_date');
if (!start || !end || end < start) return;
var ga = new GlideAjax('x_786686_hr_leave.HRLXProLeaveUtilsV2');
ga.addParam('sysparm_name', 'ajaxGetBusinessDays');
ga.addParam('sysparm_start', start);
ga.addParam('sysparm_end', end);
ga.getXMLAnswer(function (answer) {
if (answer !== null && answer !== '') {
g_form.setValue('u_days_count', answer);
}
});
}