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