How to set fields auto populate using script include?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2022 01:36 AM
Hi
I just created a scripted code from the server side as well as client side but i am enable to get output
i just given script as
On Client script:
Type : onchange
Field : caller
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var abc = g_form.getValue('caller_id');
var ga = new GlideAjax('global.getdetails');
ga.addParam('sysparm_user', 'getuserdetails');
ga.addParam('server', abc);
ga.getXML(pop);
function pop(response) {
var resp = (response.responseXML.documentElement.getAttribute('answer'));
alert(resp);
var result = resp.split(';');
g_form.setValue('u_first_name', result[0]);
g_form.setValue('u_last_name', result[1]);
g_form.setValue('u_user_manager', result[2]);
}
}
On script include
Cient callable is checked
var getdetails = Class.create();
getdetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getuserdetails: function() {
var y = this.parameter('server');
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', y);
gr.query();
if (gr.next()) {
return gr.u_first_name + ';' + gr.u_last_name + ';' + gr.u_user_manager;
}
},
type: 'getdetails'
});
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2022 01:44 AM
Hi,
update line as these
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var abc = g_form.getValue('caller_id');
var ga = new GlideAjax('global.getdetails');
ga.addParam('sysparm_user', abc);
ga.addParam('sysparm_name', 'getuserdetails');
ga.getXML(pop);
function pop(response) {
var resp = response.responseXML.documentElement.getAttribute('answer');
var result = resp.split(';');
g_form.setValue('u_first_name', result[0]);
g_form.setValue('u_last_name', result[1]);
g_form.setValue('u_user_manager', result[2]);
}
}
Script include change:
var y = this.getParameter('server');
Regards
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
06-28-2022 04:53 AM
Hope you are doing good.
Did my reply answer your question?
If my response helped please close the thread by marking appropriate response as correct so that it benefits future readers.
Regards
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
06-27-2022 01:45 AM
Hi Mahesh,
In script include code
Instead of var y = this.parameter('server'); use below
var y = this.getParameter('sysparm_server'); // uset this code
And in client script
replace ga.addParam('sysparm_user', 'getuserdetails'); and ga.addParam('server', abc); with
ga.addParam('sysparm_name', 'getuserdetails');
ga.addParam('sysparm_server', abc);
Thanks,
Valmik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2022 02:00 AM
Hi Mahesh,
Please try executing below scripts
Client Script:
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var abc = g_form.getValue('caller_id');
var ga = new GlideAjax('global.getdetails');
ga.addParam('sysparm_name', 'getuserdetails');
ga.addParam('sysparm_server', abc);
ga.getXML(pop);
}
function pop(response) {
var resp = (response.responseXML.documentElement.getAttribute('answer'));
resp = resp.toString();
alert(resp);
var result = resp.split(';');
g_form.setValue('u_first_name', result[0]);
g_form.setValue('u_last_name', result[1]);
g_form.setValue('u_user_manager', result[2]);
}
Server Script:
var getdetails = Class.create();
getdetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getuserdetails: function() {
var y = this.getParameter('sysparm_server');
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', y);
gr.query();
if (gr.next()) {
return gr.u_first_name + ';' + gr.u_last_name + ';' + gr.u_user_manager;
}
},
type: 'getdetails'
});
Kindly mark as right, if I have answered or provided solution for your query
Nagaraj Tofin
