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.

Refresh an UI Page with client script

Jeff60
Kilo Expert

Hello everyone.

My question is about UI Page on a Request Item or Task
I would like to refresh a Variable type "UI Page" as soon as there is a change in the value of a "Select box" type variable.

find_real_file.png

But i don't know how to do it properly.

Thanks in advance for your help 😉

11 REPLIES 11

I bet the table refreshed, did it not ? 😉 

Jeff60
Kilo Expert

Hello @AnirudhKumar 

Unfortunately, no ! ;( 

i don't know why....

i had try and i roll back...

If you can help me to code correctly 

UI Page

HTML :

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">

	
	<div id="myTable"></div>
	
	
</j:jelly>

Client script :

constructTable();

function constructTable() {

    var ga = new GlideAjax('Get_Financial_Activity');
    ga.addParam('sysparm_name', 'getTableFormat');
	ga.addParam('sysparm_ag', 'AG100');
    ga.getXML(getResponse);

}

function getResponse(response) {
    var answer = response.responseXML.documentElement.getAttribute("answer");
    $j("#myTable").html(answer);

}

Processing script :

 

Script Include :

var Get_Financial_Activity = Class.create();
Get_Financial_Activity.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    GetFinancialActivityDetails: function () {

        var gfa_ag = this.getParameter('sysparm_ag');

        var gfa_obj = {};

        var gfa_gr = new GlideRecord("u_financial_activity");
        gfa_gr.addQuery("u_activity_group_id", gfa_ag);
        gfa_gr.query();
        if (gfa_gr.next()) {
            gfa_obj.activity_group_name = gfa_gr.u_activity_group_name.toString();
        }

        var gfa_json = new JSON();
        var gfa_data = gfa_json.encode(gfa_obj);
        return gfa_data;


    },
    getTableFormat: function () {
        var htmlData = '<table><tr><td style="border:1px solid black">ID</td><td style="border:1px solid black">Name</td><td style="border:1px solid black">CPN</td><td style="border:1px solid black">CPG</td></tr>';
		var gfa_ag2 = this.getParameter('sysparm_ag');
        var gfa_gr2 = new GlideRecord("u_financial_activity");
        gfa_gr2.setLimit('100');
		gfa_gr2.addQuery("u_activity_group_id", gfa_ag2);
        gfa_gr2.query();
        while (gfa_gr2.next()) {
            htmlData = htmlData + '<tr><td style="border:1px solid black">' + gfa_gr2.u_activity_id + '</td><td style="border:1px solid black">' + gfa_gr2.u_activity_name + '</td><td style="border:1px solid black">' + gfa_gr2.u_cpn + '</td><td style="border:1px solid black">' + gfa_gr2.u_cpg + '</td></tr>';
        }

        return htmlData;

    },
	
    type: 'Get_Financial_Activity'
});

 

Thanks