The Date field is used to collect date information.
This page contains a detailed description of the field properties and JavaScript samples which you can use with this field.
Airtable Field |
General |
Title |
Control |
---|---|---|---|
In this section, you can find basic examples of how to work with the field using JavaScript.
For more examples, check out Working with form fields in JavaScript article. If you are not familiar with the JavaScript framework, get started with the JavaScript basics.
Note
The field is only accessible once the form is rendered, so all calls to the field must be inside fd.rendered event:
fd.rendered(() => {
// access the field's value and print in the browser's console
console.log(fd.field('Field1').value);
});
Get or set the Date field value:
// get field value as a string
fd.field('Field1').value;
// set field value to the current date
fd.field('Field1').value = new Date();
// set field value to the specific date
fd.field('Field1').value = new Date('10/30/2025');
Execute a function when a field value has been changed:
fd.field('Field1').$on('change', value => {
// log changes to browser's console
console.log('New value: ' + value);
});
Make a field required or optional:
// make field required
fd.field('Field1').required = true;
// make field not required
fd.field('Field1').required = false;
Make a field non-editable. The field value can still be changed with JavaScript and saved:
// disabled field
fd.field('Field1').disabled = true;
// enable field
fd.field('Field1').disabled = false;
Access HTML element inside the field in order to modify it, hide it, or do something else.
// access field's control
let htmlField = fd.field('Field1').$el;
// access field's block, which includes title and control
let htmlFullField = fd.field('Field1').$parent.$el;
Hide a field from a user. The field value can still be accessed and changed with JavaScript:
// hide field
fd.field('Field1').hidden = true;
// show field
fd.field('Field1').hidden = false;
You can access the widget used by the field. The widget is based on Kendo UI DatePicker.
// get the widget
fd.field('Field1').widget
// change the widget's configuration
fd.field('Field1').widgetOptions = {
min: new Date()
};
widgetOptions is the same as widget.setOptions({}) but can be defined before widget initialization.
Specify the initial view of the calendar:
fd.field('Field1').widgetOptions = {
start: 'decade'
};
The following settings are available for the start property:
‘month’ - Shows the days of the month.
‘year’ - Shows the months of the year.
‘decade’ - Shows the years of the decade.
‘century’ - Shows the decades from the century.
An array or a function that will be used to determine which dates to be disabled for selection by the widget.
// disables certain week days in the calendar
fd.field('Field1').widgetOptions = {
disableDates: ['we', 'th', 'mon']
};
// disables specific dates
fd.field('Field1').widgetOptions = {
disableDates: [new Date(2024, 6, 1), new Date(2024, 7, 1)]
};
// disables specific dates and certain week days
fd.field('Field1').widgetOptions = {
disableDates: date => {
// dates to disable
let dates = [new Date(2024, 6, 1), new Date(2024, 7, 1), new Date(2024, 9, 28)];
if (date) {
// disable Sunday (0), Saturday (6) and specified dates
return date.getDay() === 0 || date.getDay() === 6 || dates.map(Number).indexOf(+date) >= 0;
}
}
};
Specify the format, which is used to format the display value of the Date field:
fd.field('Field1').widgetOptions = {
format: 'yyyy/MM/dd'
};
For more information on date formats, please refer to Date Formatting.
Specify the date range that can be selected in the calendar:
let today = new Date();
let minDate = today.setDate(today.getDate() + 2);
let maxDate = today.setDate(today.getDate() + 30);
fd.field('Field1').widgetOptions = {
min: new Date(minDate),
max: new Date(maxDate)
};
Display a week of the year on the left side of the calendar:
fd.field('Field1').widgetOptions = {
weekNumber: true
};