Getting Error There is a JavaScript error in your browser console

Sowmya20
Tera Contributor

Getting  Error There is a JavaScript error in your browser console on change category.

Sowmya20_0-1695460904378.png

 

Please find the below code

 

Script Include:

var lmsAjax = Class.create();
lmsAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
    getLeaveBucket:function(){
        var gr=new GlideRecord('x_390532_lms_leave_bucket');
        gr.addQuery('employee',this.getParameter('sysparm_user'));
        gr.addQuery('leave_type',this.getParameter('sysparm_leavetype'));
        gr.query();
        if(gr.next())
        {
            var leaveDetails={};
            leaveDetails.aleave=''+gr.annual_leave;
            leaveDetails.sleave=''+gr.sick_leave;
  return JSON.stringify(leaveDetails);
 }
    },
  type: 'lmsAjax'
});
 
Client Script:
function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
    var ltype = g_form.getValue('leave_type');
   var ga = new GlideAjax('lmsAjax');
        ga.addParam('sysparm_name''getLeaveBucket');
        ga.addParam('sysparm_user', g_user.userID);
        ga.addParam('sysparm_leavetype', g_form.getValue('leave_type'));
        ga.getXML(getBucket);
    }
 function getBucket(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");
        var result = JSON.parse(answer);
  if (ltype == 'al') {
     g_form.showFieldMsg('leave_type''Balance ' + result.aleave);
}
else  if (ltype == 'sl') {
     g_form.showFieldMsg('leave_type''Balance ' + result.sleave);
}
    }
 
Please help..
 
 
3 REPLIES 3

Vishal Birajdar
Giga Sage

Hi @Sowmya20 

 

Update lines in client script (highlighted in bold)

 

Client Script:
function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
    var ltype = g_form.getValue('leave_type');
   var ga = new GlideAjax('lmsAjax');
        ga.addParam('sysparm_name''getLeaveBucket');
        ga.addParam('sysparm_user', g_user.userID);
        ga.addParam('sysparm_leavetype', g_form.getValue('leave_type'));
        ga.getXML(getBucket);
    }
 function getBucket(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");
        var result = JSON.parse(answer);
 var ltype = g_form.getValue('leave_type');
  if (ltype == 'al') {
     g_form.showFieldMsg('leave_type''Balance ' + result.aleave);
}
else  if (ltype == 'sl') {
     g_form.showFieldMsg('leave_type''Balance ' + result.sleave);
}
}
 
Actually variable in function is local to that function only.
Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

Hi Vishal,

Thank you for the reply but still getting same error.

Hi @Sowmya20 

 

Can you try Script include updated in bold.

Script Include:

var lmsAjax = Class.create();
lmsAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
    getLeaveBucket:function(){
        var gr=new GlideRecord('x_390532_lms_leave_bucket');
        gr.addQuery('employee',this.getParameter('sysparm_user'));
        gr.addQuery('leave_type',this.getParameter('sysparm_leavetype'));
        gr.query();
        if(gr.next())
        {
            var leaveDetails={};
            leaveDetails.aleave= gr.annual_leave;
            leaveDetails.sleave= gr.sick_leave;
  //return JSON.stringify(leaveDetails); //put return outside if
 }
 
//Try to put some logs to check details
gs.log("aleave=" +leaveDetails.aleave);
gs.log("sleave=" +leaveDetails.sleave);
 
return JSON.stringify(leaveDetails);
    },
  type: 'lmsAjax'
});
Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates