An input with a calendar attached to it for selecting a date.


Related sample:  All dhxForm inputs - DHTMLX Form

Adding DatePicker

You can easily add a DatePicker control during initialization of a form:

var form = new dhx.Form("form_container", {
    rows: [
            type: "datepicker",
            label: "date",
            labelInline: true,
            labelWidth: "50px"


You can provide the following attributes in the configuration object of a DatePicker:

  • type - (string) the type of a control, set it to "datepicker"
  • id - (string) the id of a control, auto-generated if not set
  • value - (string) the value of a datepicker
  • validation - (function) the validation function, takes as a parameter the value to validate and returns true/false to indicate the result of validation
  • icon - (string) the name of an icon from the used icon font
  • placeholder - (string) a tip for the input
  • editing - (boolean) allows a user to enter the value of the control manually

  • parent - (string) the id of the parent control
  • width - (string) the width of a control
  • height - (string) the height of a control
  • css - (string) adds style classes to a control
  • disabled - (boolean) defines whether a control is enabled (false) or disabled (true)
  • label - (string) specifies a label for a control
  • labelWidth - (string) sets the width of the label of a control
  • hiddenLabel - (boolean) invisible label that will be used to identify the input on the server side
  • labelInline - (boolean) defines the position of a label: true - to set a label inline with a control
  • name - (string) the name of a control
  • required - (boolean) defines whether a control is required
  • help - (string) adds a help message to a control
  • preMessage - (string) a message that contains instructions for interacting with the control
  • successMessage - (string) a message that appears in case of successful validation of the control value
  • errorMessage - (string) a message that appears in case of error during validation of the control value
  • gravity - (boolean) arranges form controls evenly throughout the container, depending on the direction of layout ("cols" or "rows"), true by default

  • view - (string) specifies the mode of displaying a calendar: "calendar" (default), "month", "year"
  • value - (Date) selects a day in a calendar (adds a round blue marker)
  • date - (Date) defines the date that will be opened when the calendar is created, differs from the selected date (set by value)
  • mark - (function) adds a CSS class to specific days
  • block - (function) allows disabling some date intervals, day labels are dimmed
  • weekStart - (string) sets the starting day of the week: "monday" or "sunday" (default)
  • weekNumbers - (boolean) defines whether to show the numbers of weeks, false by default
  • timePicker - (boolean) adds a timepicker into a calendar, false by default
  • timeFormat - (number) defines the time format of a timepicker: 12-hour or 24-hour (12 or 24 (default), correspondingly)
  • dateFormat - (string) defines the format of dates in the calendar, "%d/%m/%y" by default
  • hideOtherMonth - (boolean) hides dates of the previous/next months relative to the currently displayed one

Working with DatePicker

You can manipulate a DatePicker control by using methods of the object returned by the getItem() method.

For example, you can get the value of the control:

var value = form.getItem("datepicker_id").getValue();

List of the control methods:

  • clear() - clears a value of a DatePicker control
  • clearValidate() - clears validation of a DatePicker control
  • getValue(): string - returns the current string value of a DatePicker control
  • getWidget(): object - returns the dhtmlxCalendar widget attached to a DatePicker control
  • setValue(value: string|Date) - sets the value as a string or Date for a DatePicker control
  • setConfig(config: object) - sets a new configuration for a DatePicker control
  • validate(): boolean - validates a DatePicker control. Returns the result of validation: true, if a control is valid, otherwise - false

Working with the widget of DatePicker control

There is a possibility to use methods of dhtmlxCalendar via the getWidget() method of a DatePicker control.

For example, you can show the current month in the control. To do this, you need to get the widget attached to the DatePicker control and then use the showDate() method of this widget.

var datepicker = form.getItem("datepicker_id").getWidget();  // -> dhtmlxCalendar
datepicker.showDate(null,"month"); // shows the current month

Related sample:  Get widget of control - DHTMLX Form

Setting configuration of DatePicker control

It is possible to update the configuration of a DatePicker control on the fly with the help of the setConfig() method of the object returned by the getItem() method.

To do this, you need to get access to the object of the control by using the getItem() method of Form and pass a new configuration object as a parameter of the setConfig() method:

    label: "date",
    required: false,
    labelInline: true,
    labelWidth: "120px"

The setConfig() method of a control doesn't allow updating its id, type and name properties.

Back to top