Why I just can not get the field value from UI Macro

James100
Kilo Expert

Hi,

I have a field ('name') and a UI Macro on a form.

The UI Macro is just to get the field value and display it. The code is like below.

-----------------

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
        
     <g:evaluate var="jvar_user" object="true">
        ${ref_parent}.getValue("name");
    </g:evaluate>
    
    <div>name=${jvar_user}</div>

</j>

-----------------

Below is the page I'm getting. saying there is a reference error. I'm not familiar with Jelly and have no idea what's wrong. Can you help me out?

find_real_file.png

1 ACCEPTED SOLUTION

Hi James,

below worked for me in my instance; you need to use <g2:evaluate> tag; phase 2 jelly tags

I believe using phase 1 jelly i.e. <g:evaluate> it doesn't get the value

<g2:evaluate var="jvar_user" object="true">
        var value = current.name;

        gs.info('Value is: ' + value);
        value;
    </g2:evaluate>
    
    <div>name=$[jvar_user]</div>

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur

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

View solution in original post

17 REPLIES 17

asifnoor
Kilo Patron

Hi,

Use  ${ref_parent}.name and it shall work.

Kindly mark the comment as a correct answer and helpful if it helps to solve your problem.

Regards,
Asif
2020 ServiceNow Community MVP

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

try this and check once

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
        
     <g:evaluate var="jvar_user" object="true">
        var value = current.name;

        value;
    </g:evaluate>
    
    <div>name=${jvar_user}</div>

</j>

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur

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

James100
Kilo Expert

Hi,

I tried like this. But it just doesn't work.

----------------------

    <g:evaluate var="jvar_user" object="true">
        var value = ${ref_parent}.name;
        value;
    </g:evaluate>
    
    <div>name=${value}</div>

----------------------

The value is null:

find_real_file.png

 

Hi,

ýou need to use name = "${jvar_user}"

Also, add a line inside g:evalulate block to confirm you are getting the name. 

gs.log(value);

Kindly mark the comment as a correct answer and helpful if it helps to solve your problem.

Regards,
Asif
2020 ServiceNow Community MVP