Autopopulate user details onChange of user name in form
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-19-2024 12:31 AM
I have created the script include+ on change client script
Script Include::
var KPE_Reveiw_getUserDetailsAJAX = Class.create();
KPE_Reveiw_getUserDetailsAJAX.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserDetails: function() {
var result = this.newItem("result");
var user = new GlideRecord('sys_user');
user.addQuery('sys_id', this.getParameter('sysparm_userId'));
user.query();
if(user.next())
{
result.setAttribute("phone", user.phone);
result.setAttribute("email", user.email);
//result.setAttribute("location", user.location);
}
On change client scrpit
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
var userDetails = new GlideAjax('KPE_Reveiw_getUserDetailsAJAX');
userDetails.addparm('sysparm_name', 'getUserDetails');
userDetails.addParam('sysparn_Userid', g_form.getValue('u_caller'));
user.getXML(userDetails);
userDetails.getXMLAnswer(function(response) {
var userDetails = JSON.parse(response);
g_form.setValue('u_email_id', email);
g_form.setValue('u_phone_number', mobile_phone);
}
}
But still the caller email id and phone number is not populating email id(string) u_emailid and phone number (interger)u_phone_number
2 REPLIES 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-19-2024 01:05 AM - edited 06-19-2024 01:06 AM
Please refer below code and update it as per your requirement:
Catalog client script: (Onchange - variable=u_name_closure)
var empsysID = g_form.getValue('u_name_closure');
//alert(empsysID);
var gaIC_Get_user_values = new GlideAjax("IC_Get_user_name_comp");
gaIC_Get_user_values.addParam("sysparm_name", "getEmpDetails");
gaIC_Get_user_values.addParam("sysparm_user", empsysID);
gaIC_Get_user_values.getXML(setEmployee);
function setEmployee(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var userObject = JSON.parse(answer);
if (userObject.empID) {
//alert("yesinif");
g_form.setDisplay("employee_id_ro", true);
g_form.setVisible("employee_id_ro", true);
g_form.setValue("employee_id_ro", userObject.empID);
} else {
g_form.setDisplay("employee_id_ro", false);
}
if (userObject.vpID) {
g_form.setDisplay("viewpoint_id_ro", true);
g_form.setValue("viewpoint_id_ro", userObject.vpID);
} else {
g_form.setDisplay("viewpoint_id_ro", false);
}
g_form.setValue("emp_company", userObject.company);
}
}
Script Include:
getEmpDetails: function(){
var returnObj = {};
var empsysID = this.getParameter('sysparm_user');
var grUser = new GlideRecord('sys_user');
grUser.addQuery('sys_id', empsysID);
grUser.query();
if (grUser.next()) {
returnObj.empID = grUser.getValue('employee_number');
returnObj.vpID = grUser.getValue('u_viewpointid');
returnObj.company = grUser.getDisplayValue('company');
}
return JSON.stringify(returnObj);
},
Please accept my solution if it works for you and thumps up to mark it as helpful.
Thank you!!
Please accept my solution if it works for you and thumps up to mark it as helpful.
Thank you!!
Dnyaneshwaree Satpute
Tera Guru
Thank you!!
Dnyaneshwaree Satpute
Tera Guru
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-19-2024 01:20 AM