Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Change in Javascript to work in add row

aka44356106
Level 4
Level 4

I have a dynamic pdf form in which a table cell1 is Enter DOB and aother Cell2 Calculate age by Javascript calculation.

When applicant is more than one then addrow by click Button and a new row add but in new cell age calculation cell2 is show old result.

Please help me to modify this javascript so that it will work add row button.

java script (helped by  BR001)

const _MS_PER_DAY = 1000 * 60 * 60 * 24;

const _DAYS_TO_MONTH = 4800 / 146097; // 400 years have 146097 days and 400 years have 4800 months

const _MONTH_TO_DAYS = 146097 / 4800;

var date = util.scand("yyyy-mm-dd", Table8.Row1.Cell2.rawValue);

var now = new Date();

var days = Math.ceil((now - date) / _MS_PER_DAY);

var monthsFromDays = Math.floor(days * _DAYS_TO_MONTH);

var months = monthsFromDays;

days -= Math.ceil(monthsFromDays * _MONTH_TO_DAYS);

var years = Math.floor(months / 12);

months %= 12;

var result = [];

if (years > 1)

     result.push(years + " years");

if (years == 1)

     result.push(years + " year");

if (months > 1)

     result.push(months + " months");

if (months == 1)

     result.push(months + " month");

if (days > 1)

     result.push(days + " days");

if (days == 1)

     result.push(days + " day");

this.rawValue = result.join(", ");

1 Accepted Solution
_Bruce_Robertson
Correct answer by
Level 10
Level 10

Hi,

I think you need to change "Table8.Row1.Cell2.rawValue" to just "Cell2.rawValue", this should make the reference relative to the table cell the calculation is in the bit "Table8.Row1" will always reference the first row as though you had used "Table8.Row1[0]"

Regards

Bruce

View solution in original post

1 Reply
_Bruce_Robertson
Correct answer by
Level 10
Level 10

Hi,

I think you need to change "Table8.Row1.Cell2.rawValue" to just "Cell2.rawValue", this should make the reference relative to the table cell the calculation is in the bit "Table8.Row1" will always reference the first row as though you had used "Table8.Row1[0]"

Regards

Bruce

View solution in original post