The CreatorCon Call for Content is officially open! Get started here.

How to populate a Reference field automatically (no dot-walking, GlideAjax)

Alberto Consonn
ServiceNow Employee
ServiceNow Employee

Hi guys,

I need an help for configuring the Advanced Reference Qualifier in the right way.

In the Time Worker table, I've created a Reference custom field "Account_ref" to the customer_account table.

I would like to fill this field automatically with the account of the selected task, I tried dding with the following Advanced Reference Qualifier...no luck.

javascript:'account='+current.task;

Thanks for your help!!!

find_real_file.png

find_real_file.png

1 ACCEPTED SOLUTION

Dubz
Mega Sage

Hi Alberto,

I replicated your config and figured out the issue, real rookie error for which i accept full responsibility 🙂

The function call in the getXMLAnswer() line is in quotes, it shouldn't be! use this:

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

	var ga = new GlideAjax('TestScriptInclude');
	ga.addParam('sysparm_name', 'testFunction');
	ga.addParam('sysparm_task', g_form.getValue('task'));
	ga.getXMLAnswer(getAjaxData);

	function getAjaxData(response){
		g_form.setValue('u_account_ref', response);
	}
}

 

EDIT: Just noticed Harsh has already picked this up! 

View solution in original post

36 REPLIES 36

Something happened but the value is still not correct...weird

find_real_file.png

can you please confirm the client script and script include has been written in global scope ? 

also please share the screenshot of your client script and script include. 

 

also in your client script replace the getXML() to getXMLAnswer().

 

validate again and see are you getting the same error. 

 

 

I've replaced getXMLAnswer() as you proposed, but nothing happened, no value in the field Account_ref...weird!

Below the printscreen of the client script and the script include.

Please help.

find_real_file.png

find_real_file.png

Hi Alberto,

If you use getXMLAnswer() you don't have to use var answer = response.responseXML etc etc line (it does that for you which is why i always use it over getXML()).

if you just write below for your getAjaxData function what does the alert show?

function getAjaxData(response){
alert('this is the response: ' + response);
}

cheers

Dave

Alberto Consonn
ServiceNow Employee
ServiceNow Employee

In this case, the response is correct, so why it's not updating the value? I can't find the problem..

find_real_file.png