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

are you getting alert?

check the variable name are correct

Regards
Harish

Absolutey yes. But it's still not work

I have tested the code..it shud work bro

 

Regards
Harish

ah ok io got it ! i just change the field name focus on from Age to DoB and it's works

cool you figured it out 🙂

Regards
Harish