- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 06:37 AM
I have created variable set ,wrote a script in catalog script and it is not working in service portal. Simple alert is not working. Please guide me If I need to make any changes global to work client script in service portal?
.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 08:18 AM
Well, it is working fine on my end. Try this, using a callback function
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var gp = new GlideRecord('core_country');
gp.addQuery('name', newValue);
gp.query(callBack);
alert('working');
function callBack(gp){
while(gp.next()){
countrycode = gp.iso3166_3;
alert('test');
}
}
//Type appropriate comment here, and begin script below
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 08:24 AM
Did you try using using a callback function as mentioned above?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 08:32 AM
Call back is working.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 08:41 AM
Abinay, Thanks a lot.
If I try to alert countrycode outside while loop, its pop up wrong value.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var gp = new GlideRecord('core_country');
gp.addQuery('name', newValue);
gp.query(callBack);
function callBack(gp){
while(gp.next()){
countrycode = gp.iso3166_3;
}
}
alert(countrycode);
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 08:50 AM
You need to put alert inside the callback function. Otherwise it will not work. Please mark my response as correct.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-02-2016 09:12 AM
Abinay,
I have to call one more table to fetch the data and the alert (test1) is not working . Please help me?
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var gp = new GlideRecord('core_country');
gp.addQuery('name', newValue);
gp.query(callBack);
function callBack(gp){
while(gp.next()){
countrycode = gp.iso3166_3;
// get locations using country from the u_citrix_office_locations name
var gp1 = new GlideRecord('u_citrix_office_locations');
gp1.addQuery('u_country_code', countrycode);
gp1.query();
while(gp1.next()){
alert('test1');
var location = gp1.u_address_1;
location += " , "+gp1.u_address_2;
location += " , "+gp1.u_building_name;
g_form.addOption('vs_location', gp1.u_address_1, location);
}
}
}
}