Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Dynamic Default Value for Date/Time Field

Avatar

Level 1

I am creating a form for applicants to a selective program.  To be competitive for selection, applicants need to have worked in our industry for 3-7 years after graduating with their bachelor's degrees.  I want the user-entered graduation date field (Date/Time field type) to default to a value that is roughly 5 years (1825 days) before the date in which they are entering the data, and I want the user to see an empty field until they select it to enter their graduation date.  Initially, I created a static default value in the "Value" tab, but that value is displayed when the form is generated, which I don't want.  Then I tried adding the following code to the "enter" event of my graduation date field, but it also didn't help:

form1.#subform[0].ServiceDate::enter - (JavaScript, client)

if (this.rawValue == null){

  this.rawValue = (d.getDate() - 2190);

}

I appreciate any recommendations.  Thanks!

5 Replies

Avatar

Level 10

Hi there,

I suggest you use this approach instead, using the util.printd();

First put this in the enter event, if you want it to stay default when no value is entered you can put it in the exit event as well.

I hope this will help.

Avatar

Level 1

That helps a lot!  Strangely, though, even after the new dynamic default value appears upon entering the field, the initial date in the calendar dropdown where the user can select a date is still in 2019.  Any suggestions for how to change that to match what's in the field?

Avatar

Level 10

In this case, it should be set before entering the field... that means the field would not be blank before entering the field.

If this is what you want, I suggest you put the script within the initialize event.

Avatar

Level 1

I tried moving it to the initialize event, but the dropdown calendar still started in 2019, even though the date displayed in the field was 9 Jan 14.  If I manually enter 01/09/14 in the field, then the dropdown calendar begins with 9 Jan 2014.

Avatar

Level 10

Mhmm, I don't know why it is behaving like this... maybe change the data pattern to yyyy-mm-dd, or change the pattern in util.printd to match the data pattern of the field... otherwise I don't know, maybe if I could see the form I could test things out