Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Unable to properly call a UI Script from a Catalog Client Script.

RyoyaFukuda
Tera Contributor

Hi,all.

I am trying to call a UI Script from a Catalog Client Script.
This development is being done within a custom application.

Here is the script. And error message is ''UI Script  x_16799_test.TestUIScript is loaded but can not find dummyFunction or result is fraud. Result: null'
Could you please tell me why the UI Script cannot be called successfully?


Catalog Client Script
Type : onChange

UI Type : All

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

    var value = newValue;
    var name = 'u_int_test';
    var uiScriptName = 'x_16799_test.TestUIScript';


    if (typeof g_ui_scripts !== 'undefined') {
        // Workspace(WEP)
         g_ui_scripts.getUIScript(uiScriptName).then(function(result) {
        if (result && typeof result.dummyFunction === 'function') {
		//  if (result && typeof result.formatAndTruncateNumber === 'function') {
            g_form.addInfoMessage('UI Script ' + uiScriptName + ' is loaded and find dummyFunction');
            result.dummyFunction();
        } else {
            g_form.addInfoMessage('UI Script ' + uiScriptName + ' is loaded but can not find dummyFunction or  result is fraud.  Result: ' + JSON.stringify(result));
        }
    }).catch(function(error) {
        g_form.addErrorMessage('UI script failed to load: ' + error);
    });
    }
}



UI Script
API:x_16799_test.TestUIScript

(function() {
    return {
        dummyFunction: function() {
            // do noting
        }
    };
})();

 

10 REPLIES 10

@Tanushree Maiti 
@Ankur Bawiskar 

I successfully called it. Thank you very much.
However, another problem has occurred.
I tried to get the length of a string by writing str.length in the UI Script, but the following error message appeared in the console: "Cannot read properties of undefined (reading 'length')"

'g_form.showFieldMsg' also cannot be used in UI Script.

@RyoyaFukuda 

Glad to know that my approach worked for you.

Would you mind marking my response as correct and close the thread?

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

Ankur Bawiskar
Tera Patron

@RyoyaFukuda 

you are running this script in native or portal?

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

Ankur Bawiskar
Tera Patron

@RyoyaFukuda 

check this

[SOLVED] How to call scoped UI script from catalog client script ? 

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader