getDisplayValue returning value from wrong field

___miked___
Mega Contributor

I have multiple fields on a form.   I'm trying to get the value of a choice-list field called 'patient_category'.   But, the following code always returns the value of another field on the form -- the patient_name field.   regardless of what field I specify as the getDisplayValue parameter, the system always returns the value of the patient_name field. I'm totally new to scripting in ServiceNow so am wondering what I am missing.    

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

      if (isLoading || newValue == '') {

          return;

    }  

alert(g_form.getDisplayValue('patient_category'));

    }

Thanks in advance for your help.

1 ACCEPTED SOLUTION

Rahul RJ
Giga Sage
Giga Sage

Hi Mike,



Can you try this code


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


      if (isLoading || newValue == '') {


          return;


    }


        alert(g_form.getDisplayBox('patient_category').value);



    }



P.S: Hit Like or Correct depending on the impact of response


View solution in original post

16 REPLIES 16

Please share the screen shot of the on change script and the form.


Jaspal Singh
Mega Patron
Mega Patron

Hi Mike,



Try using something as below



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


      if (isLoading || newValue == '') {


          return;


    }


var chk1=g_form.getValue('patient_category');


alert('Patient category is ',chk1.getDisplayValue());


//alert(g_form.getDisplayValue('patient_category'));


    }


Thanks for the reply.   This suggestion generated the following error. onChange script error: TypeError: chk1.getDisplayValue is not a function function () { [native code] }



getDisplayValue() is NOT supported in client side scripting. you can use the getReference() function to get the value, please check if this helps,



function onChange(control, oldValue, newValue, isLoading) {
   
var pcat = g_form.getReference('patient_category', doAlert);
}
function doAlert(pcat) {
  alert
(pcat.name);
}



or else you need to do GlideAjax call to fetch the value.


sachin_namjoshi
Kilo Patron
Kilo Patron

use this code


var choiceValue = g_form.getValue(<fieldName>);


var choiceLabel = g_form.getOption(<fieldName>, choiceValue).text;



Regards,


Sachin