The CreatorCon Call for Content is officially open! Get started here.

PrashantLearnIT
Giga Sage

I have explained how to return multiple values from the script include and pass it to the client side.

If you have any feedback related to the scripting part, please write it in the comment box.

====================CLIENT SCRIPT======================

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
//     if (isLoading || newValue === '') {
//         return;
//     }

    //Type appropriate comment here, and begin script below
    var ga1 = new GlideAjax('FetchUserDetails');
    ga1.addParam('sysparm_name', 'getData');
    ga1.addParam('sysparm_user', newValue);
    ga1.getXMLAnswer(setDetails);

    function setDetails(response) {
        var pVal = JSON.parse(response);
        g_form.setValue('u_manager', pVal.manager);
        g_form.setValue('u_user_s_location', pVal.location);
        g_form.setValue('u_mobile_number', pVal.mobile_number);
        g_form.setValue('u_username', pVal.username);
        g_form.setValue('u_email', pVal.email);
    }
}

====================SCRIPT INCLUDE======================

var FetchUserDetails = Class.create();
FetchUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getData: function() {
        var user = this.getParameter('sysparm_user');
        var obj = {};

        var usr = new GlideRecord('sys_user');
        usr.addQuery('sys_id', user);
        usr.query();
        if (usr.next()) {
            obj.manager = usr.manager.getDisplayValue();
            obj.location = usr.location.getDisplayValue();
            obj.mobile_number = usr.mobile_phone.getDisplayValue();
            obj.username = usr.user_name.getDisplayValue();
            obj.email = usr.email.getDisplayValue();
        }
        return JSON.stringify(obj);
    },

    type: 'FetchUserDetails'
});

 

Best Regards,

Prashant

If my article helped you in any way, please mark this as helpful and make this a bookmark.

Version history
Last update:
‎08-05-2022 08:10 AM
Updated by: