Calculate Age from DoB in Client Script

escanor
Giga Contributor

I'm trying to create a Client Script to calculate age from DoB like picture below
find_real_file.png

Currently i have no idea to do it lol. I've seen some related posts about that and tried but it's not worked. Pls help me ! Ty

1 ACCEPTED SOLUTION

Harish KM
Kilo Patron
Kilo Patron

I have replied bro

https://community.servicenow.com/community?id=community_question&sys_id=aae1977edb2a1700fff8a345ca9619e8

 

Anyways will post it here

Write a script include

var ageScript = Class.create();
ageScript.prototype = Object.extendsObject(AbstractAjaxProcessor, {

checkAge: function() {
var dob = this.getParameter('sysparam_id');//param from client script
var today = new GlideDateTime();
var todayYear = today.getYearLocalTime();
var bday = new GlideDateTime(dob.toString());
var bdayYear = bday.getYearLocalTime();
var age =todayYear - bdayYear;
return age;
},

type: 'ageScript'
});

 

find_real_file.png

 

Then client script

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

var ga = new GlideAjax('ageScript');
ga.addParam('sysparm_name','checkAge');
ga.addParam('sysparam_id',newValue);
ga.getXML(Process);
}
function Process(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert(answer);
var a = parseInt(answer);
alert(a);
g_form.setValue("age",a);
}

find_real_file.png

 

Regards
Harish

View solution in original post

13 REPLIES 13

ur my best teacher in ServiceNow world ROFL

Can u tell me why we can CalAge just from ClientScr ? And what is ScriptinClude in this situation did ?

It is best practice to do calculation stuff in script include and retrieve the answer and send to client script.

Regards
Harish

karunakar12_0-1726159020018.png

Age is not being populated, i have used the same code, can you help me