- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-10-2020 11:55 PM
Hi ,
I have a Requirement : when Ui Button is Clicked , it will Render a Ui Page with Dynamic Values .
Ui Page : will Fetch values of Specified Table from Script Include using GlideAjax.
Script Include : Has Code to glide Records from Specified Table and will Pass it to Ui page .
working fine .
(But I want Script Include to Glide Records from Different Tables . Before, i specified from which Table records needs to be Glide in Script Include .) now
Different Button-Clicks should Display Different Records in Ui Page .
More Info : I have 10 Tables , Each Table has a custom Ui Button .(ui actions)
Table 1 has ,Button 1
Table 2 has Button2
When Button 1 : OnClick() -Pass SysId of Table1 to Script Include ( i thought of Bussiness Rule )
Script include has Code to glide records in that Table .
Question :
Flow :
1.Ui Button will call Uipage
2. Ui page Will Call Script-Include(GlideAjax)--------------[ Here I want Dynamic Data ,When Different Buttons are clicked ]
3.What ever data Returned from Script-Include will be Displayed in Ui page .
How to Pass Dynamic Values to Script Include Without Disturbing this Flow ???
Kindly Help me ,
Any Suggestion is Appreciated .
Thankyou ,
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2020 02:18 AM
are you using GlideDialogWindow in ui action ? if yes then you can send the table name from ui action to ui page ,
eg:
function commentsDialog() {
//Get the values to pass into the dialog
var tabName = g_form.getTableName();
//Initialize and open the Dialog Window
var dialog = new GlideDialogWindow("<ui page name>");
dialog.setTitle("Add Task Comments"); //Set the dialog title
dialog.setPreference("table_text", tabName );
dialog.render(); //Open the dialog
}
UI page:
HTML:
<g:ui_form>
<!-- Get values from dialog preferences passed in -->
<g:evaluate var="jvar_text"
expression="RP.getWindowProperties().get('table_text')" />
one html field to store the table name , you can also make it as hidden html field
<g:ui_multiline_input_field name="tab_name" id="tab_name" label="table name" value="${jvar_text}" />
<g:dialog_buttons_ok_cancel ok="return validateComments()"ok_type="button" cancel_type="button" />
</g:ui_form>
Access the variable value in client script of your UI Page:
function validateComments() {
//Gets called if the 'OK' dialog button is clicked
//Make sure dialog comments are not empty
var tabName = gel("tab_name").value;
var ga = new GlideAjax('HelloWorld');
ga.addParam('sysparm_name', 'helloWorld');
ga.addParam('sysparm_user_name', tabName);
ga.getXML(HelloWorldParse);
function HelloWorldParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert(answer);
}
GlideDialogWindow.get().destroy(); //Close the dialog window
}
Script Include:
var HelloWorld = Class.create();
HelloWorld.prototype = Object.extendsObject(AbstractAjaxProcessor, {
helloWorld:function() {
var tbName = this.getParameter('sysparm_user_name');
var gr = new GlideRecord(tbName);
gr.query();
while(gr.next()){
// further script
}
return "Hello " + "!";
} ,
_privateFunction: function() { // this function is not client callable
}
});
Hope it will help you now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2020 02:04 AM
Hi ,
Yes! This is what i meant .
Can you please Explain me How to Execute this Code in Detail ?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2020 12:11 AM
Hi thanks for your Response ,
I want to Display Records of a Particular Table in a Ui page .
What i'M doing :
1.Ui Button onClick() : will call Uipage
2. Ui page Will Call Script-Include(GlideAjax)--------------[ Here I want Dynamic Data ,When Different Buttons are clicked ]
3.What ever data Returned from Script-Include will be Displayed in Ui page .
Ui page below
Account : Table name
Contact : Records
Code in Glide Ajax
I want to Glide Records of Multiple Tables as per requirement .( Dynamic Table name )
More Info : I have 10 Tables , Each Table has a custom Ui Button .(ui actions)
Table 1 has ,Button 1
Table 2 has Button2
When Button 1 : OnClick() -Pass SysId of Table1 to Script Include ( i thought of Bussiness Rule )
Script include has Code to glide records in that Table .
likewise Button2 On click() should display , Table2 Records in ui Page .
Thankyou ,

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2020 12:13 AM
where is your glide ajax code? the code which you have added thats script include code
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2020 12:26 AM
Hi ,
Code in Client Sript of ui page :
var value = [];
var answer;
var ga = new GlideAjax('Getting');
ga.addParam('sysparm_name','Function_Name');
ga.getXML(ProcessResult);
function ProcessResult(response) {
answer = response.responseXML.documentElement.getAttribute("answer");

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-11-2020 12:30 AM
quick question, are you using your ui page in your UI Action ?
try now.
var value = [];
var answer;
var ga = new GlideAjax('Getting');
ga.addParam('sysparm_name','Function_Name');
ga.addParam('sysparm_tab_name', g_form.getTableName());
ga.getXML(ProcessResult);
function ProcessResult(response) {
answer = response.responseXML.documentElement.getAttribute("answer");
Now use "sysparm_tab_name" variable on your script include