getDisplayValue is not working on catalog client script

nomadie
Kilo Expert

I am running a catalog item with this code but I got thrown out by a javascript error on browser. Anyone can help would really appreciate.
End goal is that when requestor is part of the support_group, i can run setReadonly to couple of fields.

var userDisplay = g_form.getDisplayValue(assearch.requestor); 
var userGroup = g_form.getDisplayValue(assearch.support_group);
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('user',userDisplay);
getMembers.addQuery('group',userGroup);
getMembers.query();
if(!getMembers.next()) {
//return Yes;
}
(g_env) [SCRIPT:EXEC] Error while running Client Script 
"onChange of HW Asset": 
TypeError: Cannot read property 'requestor' of undefined
1 ACCEPTED SOLUTION

You can do below


//Check to see if assigned to is a member of selected group
var grpName = g_form.getDisplayBox(assearch.support_group).value;;
var usrID = g_form.getDisplayBox(assearch.requestor).value; 
var grp = new GlideRecord('sys_user_grmember');
grp.addQuery('group.name', grpName);
grp.addQuery('user', usrID);
grp.query(groupMemberCallback);
   
function groupMemberCallback(grp){
//If user is a member of selected group
    if(grp.next()){
        //Do something
        //alert('Is a member');
    }else{
        //alert('Is not a member');
        g_form.setReadOnly('field1',true);
        g_form.setReadOnly('field2',true);
    }
}

View solution in original post

12 REPLIES 12

arielgritti
Mega Sage

Hello

Are the assearch.requestor and assearch.support_group field in the form?

You must enclose with ''

 

I hope my answer has been useful

Ariel

PS: Please mark my answer correct or helpful if I have helped you. Thanks

arielgritti
Mega Sage

Hello

Maybe this can help you

 

function onChange(control, oldValue, newValue, isLoading) {
   var company = g_form.getReference('company', setCIF);
}
function setCIF(company) {
	g_form.setValue('cif',company.u_cif);
}

 

You must use getReference and callback function

 

I hope my answer has been useful

Ariel

PS: Please mark my answer correct or helpful if I have helped you. Thanks

arielgritti
Mega Sage

Hello

Another way is use g_form.getValue('field_name')

 

var fieldValue = g_form.getValue('fieldName');

 

I hope my answer has been useful

Ariel

PS: Please mark my answer correct or helpful if I have helped you. Thanks

Archana Reddy2
Tera Guru

Hi,

getDisplayValue() doesn't work on Catalog client scripts. Please let me know assearch field is referenced to which table and the field types of requestor and  support_group. Also, please check the name of requestor field.

Thanks