Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Question on client script

Mani60
Tera Contributor

Hi All,
I have written on change client script for populating category nd subcategory based on the caller company, department and caller email domain.

res[0] - is company and res[2] - is department & res[1] - is email domain 

 

if ((res[0] == 'ES'|| res[0] == 'RES'&& (res[2] != " Business Servic" || res[2] != "Accounts " || res[2] != ' Marketing' || res[2] != " Property Mgmt" || res[2] != " Team")) && (res[1] == 'textiand' || res[1] == 'ddLife')) {

 

Here in my case if i give only one company then my code is working fine but here i want to take two companies 

ie, if i take resi[0]=='ES', then the code is working fine, but i need to take 2 companies here,

 

Please find the below code i have written :

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {

 

 

 

    //alert('#test');

    try {

        //alert('hi:::::' + newValue);

        if ( newValue === '') {

            return;

        }

        //jslog('hi');

        //alert("new value is ::" + newValue);

        var resFlag = false;

        var userSysid = g_form.getValue('caller_id');

        var ga = new GlideAjax('Incident_caller_details');

 

 

        ga.addParam('sysparm_name', 'get_callerdetails');

        ga.addParam('sysId', userSysid);

        ga.getXML(HelloWorldParse);

 

 

 

        function HelloWorldParse(response) {

 

 

            var answer = response.responseXML.documentElement.getAttribute("answer");

            //alert(answer);

            var res = answer.split(',');

 

           

 

 

            if(res[2] == "Property Mgmt")

            {

                return;

            }  

           

           

            if ((res[0] == 'ES'|| res[0] == 'RES'&& (res[2] != " Business Servic" || res[2] != "Accounts " || res[2] != ' Marketing' || res[2] != " Property Mgmt" || res[2] != " Team")) && (res[1] == 'textiand' || res[1] == 'ddLife')) {

 

            /

 

                

                alert('inside the right block');

 

                g_form.removeOption('category', 'Application');

                g_form.removeOption('category', 'Building Maintenance');

               

              

 

            }

           

            if (res[0] != 'ES'&& res[0] != 'RES') {

               

                alert('inside the right block :: Non resal');

 

                g_form.addOption('category', 'Application', 'Application');

                g_form.addOption('category', 'Building Maintenance','Building Maintenance');

              

               

                

            }

 

        if ((res[0] == 'ES' ||res[0] == 'RES' && (res[2] == " Business Servic" || res[2] == "Accounts " || res[2] == ' Marketing' || res[2] == " Property Mgmt" || res[2] == "Team")))

        {

               

               

       

                

                alert('inside the right block :: Ri corp');

 

                g_form.addOption('category', 'Application', 'Application');

                g_form.addOption('category', 'Building Maintenance','Building Maintenance');

               

            }

 

        }

    } catch (ex) {

        //jslog('A JavaScript runtime error occurred: ' + ex.message);

    }

 

    //Type appropriate comment here, and begin script below

 

}

 

Could you please help me on to get the proper solution.

 

Thanks,

Manish

1 REPLY 1

Brad Bowman
Kilo Patron
Kilo Patron

I'm not sure I'm following, are you saying that this doesn't yield the correct results

if ((res[0] == 'ES'|| res[0] == 'RES'&& (res[2] != " Business Servic" || res[2] != "Accounts " || res[2] != ' Marketing' || res[2] != " Property Mgmt" || res[2] != " Team")) && (res[1] == 'textiand' || res[1] == 'ddLife')) {

But this does?

if ((res[0] == 'ES' && (res[2] != " Business Servic" || res[2] != "Accounts " || res[2] != ' Marketing' || res[2] != " Property Mgmt" || res[2] != " Team")) && (res[1] == 'textiand' || res[1] == 'ddLife')) {