- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-10-2020 10:11 PM
Hello,
I am new in scripting. I have been trying the below code, but its returning null value. What wrong I am doing?
Script Include:
var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function() {
var gr = new GlideRecord("Group");
gr.get(this.getParameter('sysparm_username'));
return gr.name;
},
type: 'AssignmentGroupName'
});
Client Script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var ga = new GlideAjax('AssignmentGroupName');
ga.addParam('sysparm_name','getName');
ga.addParam('sysparm_username',g_form.getValue('assignment_group'));
ga.getXML(GroupNameParse);
//alert("Group: "+g_form.getValue('assignment_group'));
function GroupNameParse(response){
var output = response.responseXML.documentElement.getAttribute("answer");
alert("Group Name: "+output);
}
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2020 09:47 PM
Hello Everybody,
Thank you so much to each one of you for helping me in resolving the issue.
Finally I got the resolution from another forum post itself. My script is working. But can somebody please tell me why the usual way did not work and below two lines have worked?
this.getRootElement().setAttribute('groupinfo',x); (Script Include)
response.responseXML.documentElement.getAttribute("groupinfo"); (Client Script)
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var ga = new GlideAjax('AssignmentGroupName');
ga.addParam('sysparm_name', 'getName');
ga.addParam('sysparm_grpname',g_form.getValue('assignment_group'));
ga.getXML(GroupNameParse);
function GroupNameParse(response) {
var answer = response.responseXML.documentElement.getAttribute("groupinfo");
alert(answer);
g_form.setValue('short_description',answer);
}
}
Script Include:
var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function() {
var x = '';
gs.addInfoMessage('Entered the script');
var gr = new GlideRecord("sys_user_group");
gr.addQuery('sys_id',this.getParameter('sysparm_grpname'));
gr.query();
if(gr.next()){
gs.addInfoMessage('Entered the IF');
x = gr.getValue('name');
gs.addInfoMessage(x);
this.getRootElement().setAttribute('groupinfo',x);
//return x;
}
// gr.get(this.getParameter('sysparm_grpname'));
return x;
},
type: 'AssignmentGroupName'
});

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-12-2020 09:37 PM
Hi,
onChange client script
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var assignmentGrp=g_form.getReference('assignment_group').name;
var ga = new GlideAjax('AssignmentGroupName');
ga.addParam('sysparm_name','getName');
ga.addParam('sysparm_grpname',assignmentGrp);
ga.getXML(callback);
function callback(response)
{
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Group name is = "+ answer);
}
}
Script include
var AssignmentGroupName= Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName : function()
{
var grp = this.getParameter('sysparm_grpname');
var gr = new GlideRecord('sys_user_group');
gr.addQuery('name',grp);
gr.query();
while(gr.next())
{
return gr.name;
}
},
type: 'AssignmentGroupName'
});
Thanks,
Dhananjay.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-12-2020 09:45 PM
Hi,
what is present in this variable? sysparm_grpname
the onchange script is on string field or reference field?
If it is sys_id then use this
getName: function() {
var gr = new GlideRecord("sys_user_group");
gr.get(this.getParameter('sysparm_grpname'));
return gr.name;
},
if it is name then use this
getName: function() {
var gr = new GlideRecord("sys_user_group");
gr.get('name',this.getParameter('sysparm_grpname'));
return gr.name;
},
Rest all looks good
Mark ✅ Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
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
05-12-2020 10:46 PM
Hello please update your script include to the following:
var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function() {
var gr = new GlideRecord("sys_user_group");
gr.get(this.getParameter('sysparm_grpname'));
return gr.getValue('name');
},
type: 'AssignmentGroupName'
});

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2020 12:33 AM
Hi Satanik,
PLease use the below script and let us know if you face any issue.
Client Script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var ga = new GlideAjax('AssignmentGroupName');
ga.addParam('sysparm_name', 'getName');
ga.addParam('sysparm_grpname', newValue);
ga.getXML(GroupNameParse);
}
function GroupNameParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Group Name: " + answer);
}
Script Include:
var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function() {
var gr = new GlideRecord("sys_user_group");
gr.get(this.getParameter('sysparm_grpname'));
return gr.name;
},
type: 'AssignmentGroupName'
});
Please make sure that the selected field on the client script is assignment group. If it's based on the onChange of some other field then you need to replace newValue in line no 8 of client script to g_form.getValue('assignment_group').
Kindly mark my answer as Correct and Helpful based on the Impact.
Regards,
Alok
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2020 09:47 PM
Hello Everybody,
Thank you so much to each one of you for helping me in resolving the issue.
Finally I got the resolution from another forum post itself. My script is working. But can somebody please tell me why the usual way did not work and below two lines have worked?
this.getRootElement().setAttribute('groupinfo',x); (Script Include)
response.responseXML.documentElement.getAttribute("groupinfo"); (Client Script)
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var ga = new GlideAjax('AssignmentGroupName');
ga.addParam('sysparm_name', 'getName');
ga.addParam('sysparm_grpname',g_form.getValue('assignment_group'));
ga.getXML(GroupNameParse);
function GroupNameParse(response) {
var answer = response.responseXML.documentElement.getAttribute("groupinfo");
alert(answer);
g_form.setValue('short_description',answer);
}
}
Script Include:
var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function() {
var x = '';
gs.addInfoMessage('Entered the script');
var gr = new GlideRecord("sys_user_group");
gr.addQuery('sys_id',this.getParameter('sysparm_grpname'));
gr.query();
if(gr.next()){
gs.addInfoMessage('Entered the IF');
x = gr.getValue('name');
gs.addInfoMessage(x);
this.getRootElement().setAttribute('groupinfo',x);
//return x;
}
// gr.get(this.getParameter('sysparm_grpname'));
return x;
},
type: 'AssignmentGroupName'
});