Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

onchange client script

Aman66
Tera Contributor

Hi all ,

use case - write a Onchange client script and script include also to Automatic add caller manager into watchlist when i change caller field in the incident form .

 

please help me to do this use case 

1 ACCEPTED SOLUTION

Hello,

 

Please create a script include with name Getemail as below:-

 

Saurav11_0-1665736335769.png

 

Write the below code in script include:-

 

var Getemail = Class.create();
Getemail.prototype = Object.extendsObject(AbstractAjaxProcessor, {
	
	getemail: function() {
	var email=this.getParameter('sysparm_email');
   
   var gr=new GlideRecord('sys_user');
   gr.addQuery('sys_id',email);
   gr.query();
	if(gr.next());
	{
		return gr.manager;
	}
	},

    type: 'Getemail'
});

 

Then use the below code in onchange client script:-

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }
   
 var email=g_form.getValue('email');
   var ga = new GlideAjax("Getemail");
    ga.addParam('sysparm_name', 'getemail');
    ga.addParam('sysparm_email',newValue);
    ga.getXML(callback);

    function callback(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");
        g_form.setValue('watch_list', answer);
    }
		
}

 

Please mark my answer as correct based on Impact. 

View solution in original post

28 REPLIES 28

Saurav11
Kilo Patron
Kilo Patron

Hello,

 

Write a Onchange client script on caller field:-

 

Saurav11_0-1665735748120.png

 

use the below code:-

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }
   var  caller =g_form.getReference('caller_id',validateMan);
 function validateMan(man)
	{
		g_form.setValue('watch_list',man.manager);
	}
		
}

 

Please mark my answer as correct based on Impact. 

Aman66
Tera Contributor

sir but my requirement i want write a script include also and used to onchange client script

Hello,

 

Please create a script include with name Getemail as below:-

 

Saurav11_0-1665736335769.png

 

Write the below code in script include:-

 

var Getemail = Class.create();
Getemail.prototype = Object.extendsObject(AbstractAjaxProcessor, {
	
	getemail: function() {
	var email=this.getParameter('sysparm_email');
   
   var gr=new GlideRecord('sys_user');
   gr.addQuery('sys_id',email);
   gr.query();
	if(gr.next());
	{
		return gr.manager;
	}
	},

    type: 'Getemail'
});

 

Then use the below code in onchange client script:-

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }
   
 var email=g_form.getValue('email');
   var ga = new GlideAjax("Getemail");
    ga.addParam('sysparm_name', 'getemail');
    ga.addParam('sysparm_email',newValue);
    ga.getXML(callback);

    function callback(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");
        g_form.setValue('watch_list', answer);
    }
		
}

 

Please mark my answer as correct based on Impact. 

Aman66
Tera Contributor

hi sir ,

i think you don't have use email variable in client script