- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-05-2020 11:44 PM
Hi Everyone,
I have requirement to apply dynamic filter on reference field in UI Page.
I have managed to access that variable value in client script of that UI Page but I am not sure how to access that value and apply dyanmic filte to reference field,
Client script :
var ParsedURL=document.referrer.parseQuery();// to take parameters from parent url
if(parsedURL['sys_id']){
var sys_id=decodeURI(parsedURL['sys_id']
}
HTML
<g:ui_reference id='referenceTest' table='module' />
Here I want to add query attribute and want to include dynamic filter with sys_id variable.
Something like,
<g:ui_reference id='referenceTest' table='module' query='Number='+sys_id />
or
<g:ui_reference id='referenceTest' table='module' query='Number='+${sys_id} />
What is the correct way to use client script variable in HTML and apply dynamic filter?
Thanks in advance.
Regards,
Abhijit
ServiceNow MVP
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-06-2020 01:45 AM
Hi,
If you only want the referer URL you can try this,
<?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 jelly="true">
var referrer = GlideTransaction.get().getRequest().getHeader("Referer");
var query = "active=true";
if(!gs.nil(referrer)) {
var url = new GlideURL(referrer);
if(url)
query = query+"^kb_knowledge_base=" + url.get('sys_id');
}
query;
</g:evaluate>
<span>Query : $[query]</span>
</j:jelly>
Explanation: Fetch referer from request header, parse it using GlideURL, read referer url parameter using GlideURL.get to create your query. Now you can pass the query to g_uireference.
Regards,
Rajesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-06-2020 01:31 AM
Hi,
please try this; give name attribute as well
Update as below
<g:ui_reference name="jiraNumber" id="jiraNumber" table="u_nowjira" />
<script>
var releaseSysId='';
var parsedURL = document.referrer.parseQuery();
if (parsedURL['sys_id']) {
releaseSysId = decodeURI(parsedURL['sys_id']);
}
alert(releaseSysId);
var a = document.getElementById('sys_display.jiraNumber');
a.setAttribute('name','QUERY:u_nowrelease'+releaseSysId);
</script>
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-06-2020 01:45 AM
Hi,
If you only want the referer URL you can try this,
<?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 jelly="true">
var referrer = GlideTransaction.get().getRequest().getHeader("Referer");
var query = "active=true";
if(!gs.nil(referrer)) {
var url = new GlideURL(referrer);
if(url)
query = query+"^kb_knowledge_base=" + url.get('sys_id');
}
query;
</g:evaluate>
<span>Query : $[query]</span>
</j:jelly>
Explanation: Fetch referer from request header, parse it using GlideURL, read referer url parameter using GlideURL.get to create your query. Now you can pass the query to g_uireference.
Regards,
Rajesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2020 01:11 AM
Regards,
Abhijit
ServiceNow MVP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2020 01:47 AM
Hi,
It would be nice if you share the adjustment and script so that it would be helpful to all
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader