GlideAjax returning null value

Satanik1
Giga Guru

Hello,

I am new in scripting. I have been trying the below code, but its returning null value. What wrong I am doing?

Script Include:

var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {

	getName: function() {
  var gr = new GlideRecord("Group");
  gr.get(this.getParameter('sysparm_username'));
  return gr.name;
 },
	
    type: 'AssignmentGroupName'
});

 

Client Script:

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }

	var ga = new GlideAjax('AssignmentGroupName');
	ga.addParam('sysparm_name','getName');
	ga.addParam('sysparm_username',g_form.getValue('assignment_group'));
	ga.getXML(GroupNameParse);
	//alert("Group: "+g_form.getValue('assignment_group'));
	
	function GroupNameParse(response){
		var output = response.responseXML.documentElement.getAttribute("answer");
		alert("Group Name: "+output);
	}
}
1 ACCEPTED SOLUTION

Satanik1
Giga Guru

Hello Everybody,

 

Thank you so much to each one of you for helping me in resolving the issue.

Finally I got the resolution from another forum post itself. My script is working. But can somebody please tell me why the usual way did not work and below two lines have worked?

 

this.getRootElement().setAttribute('groupinfo',x); (Script Include)

response.responseXML.documentElement.getAttribute("groupinfo"); (Client Script)

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }

    var ga = new GlideAjax('AssignmentGroupName');
    ga.addParam('sysparm_name', 'getName');
    ga.addParam('sysparm_grpname',g_form.getValue('assignment_group'));
    ga.getXML(GroupNameParse);
   
 
    function GroupNameParse(response) {
        var answer = response.responseXML.documentElement.getAttribute("groupinfo");
        alert(answer);
		g_form.setValue('short_description',answer);
   
}
}

 

Script Include:

var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {

	getName: function() {
		
		var x = '';
		gs.addInfoMessage('Entered the script');
		var gr = new GlideRecord("sys_user_group");
		gr.addQuery('sys_id',this.getParameter('sysparm_grpname'));
		gr.query();
		
		if(gr.next()){
			gs.addInfoMessage('Entered the IF');
			x = gr.getValue('name');
			gs.addInfoMessage(x);
			this.getRootElement().setAttribute('groupinfo',x);
			//return x;
		}
//  gr.get(this.getParameter('sysparm_grpname'));
return x;
 },
	
    type: 'AssignmentGroupName'
});

View solution in original post

11 REPLIES 11

Ishita Shrivast
Kilo Guru

Hi Satanik, while scripting , you need to give the backend name of every fields and tables. Here you are giving table name as "Group" whereas as it should be "sys_user_group" in Script Include.

Hope this helps. Please mark it as helpful and correct ,if applicable.

Thanks and Regards,

Ishita Shrivastava.

Mike Patel
Tera Sage

Satanik1
Giga Guru

Hello Ishita and Mike,

Thank you so much for your response.

Still I am facing the same challenge. I have modified the script with the group backend name. I just wanted to print the group name by fetching from the server. What wrong I am doing again?

Server Script

var AssignmentGroupName = Class.create();
AssignmentGroupName.prototype = Object.extendsObject(AbstractAjaxProcessor, {

	getName: function() {
  var gr = new GlideRecord("sys_user_group");
  gr.get(this.getParameter('sysparm_grpname'));
  return gr.name;
 },
	
    type: 'AssignmentGroupName'
});

 

Client Script

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }

    var ga = new GlideAjax('AssignmentGroupName');
    ga.addParam('sysparm_name', 'getName');
    ga.addParam('sysparm_grpname', newValue);
    ga.getXML(GroupNameParse);
    alert("Group: " + g_form.getValue('assignment_group'));

    function GroupNameParse(response) {
        var output = response.responseXML.documentElement.getAttribute("sysparm_grpname");
        alert("Group Name: " + output);
    }
}

Hi,

May I know your exact requirement.

Thanks,

Dhananjay.