onChange Client Script not working on Form.

jasonjones
Giga Contributor

Creating a form with an independent Application and I'm getting the following error.find_real_file.png

I have the following onChange client script.

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

//Type appropriate comment here, and begin script below...
var gr = new GlideRecord('sys_user');

if (gr.get(newValue)) {
g_form.setValue('u_email_address', gr.email);
// g_form.setValue('u_sec_email_address', gr.u_email);
}
}

I have also gone and created under the sys_properties.list  a new 

find_real_file.png

What am I missing?  Obviously, I have other forms that work when the application is Global.  I have also toggled the "Isolate script" without success. 

find_real_file.png

Thanks.

Jason

1 ACCEPTED SOLUTION

Try this

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

var requestedfor = g_form.getReference('caller_id', getDetails); //Callback

function getDetails(requestedfor) {
if (requestedfor)
g_form.setValue('u_email_address', requestedfor.email);
g_form.setValue('u_x_ucid', requestedfor.u_ucid);
}



//Type appropriate comment here, and begin script below...
//var gr = new GlideRecord('sys_user');

//if (gr.get(newValue)) {
// g_form.setValue('u_email_address', gr.email);
// g_form.setValue('u_sec_email_address', gr.u_email);

}

Please mark my response as correct and helpful if it helped solved your question.
-Thanks

View solution in original post

17 REPLIES 17

jasonjones
Giga Contributor

Final code that worked. 

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

var callerid = g_form.getReference('u_contact', getDetails); //Callback

function getDetails(callerid) {
//if (callerid)
g_form.setValue('u_email_address', callerid.email);
g_form.setValue('u_x_ucid', callerid.u_ucid);
}

}

Did you mark your own response as correct??

Try following for it work onLoad too

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

var callerid = g_form.getReference('u_contact', getDetails); //Callback

function getDetails(callerid) {
//if (callerid)
g_form.setValue('u_email_address', callerid.email);
g_form.setValue('u_x_ucid', callerid.u_ucid);
}

}

 


Please mark my response as correct and helpful if it helped solved your question.
-Thanks

Yeah. Accidentally.  Sorry