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