{"id":49414,"date":"2026-06-24T15:15:38","date_gmt":"2026-06-24T19:15:38","guid":{"rendered":"https:\/\/docs.gravityforms.com\/?p=49414"},"modified":"2026-06-24T15:15:42","modified_gmt":"2026-06-24T19:15:42","slug":"gform-datepicker-pre_init","status":"publish","type":"post","link":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/","title":{"rendered":"gform\/datepicker\/pre_init"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-description\">Description<\/h2>\n\n\n\n<p>The gform\/datepicker\/pre_init filter can be used to modify the options used to initialize a field&#8217;s datepicker before it is rendered.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-usage\">Usage<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ngform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n    \/\/ do stuff\n\n    return data;\n} );\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-parameters\">Parameters<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Parameter<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>data<\/code><\/td><td>object<\/td><td>The data object passed to the filter.<\/td><\/tr><tr><td><code>data.input<\/code><\/td><td>HTMLElement<\/td><td>The input element the datepicker is associated with. Inputs follow the format <code>input_{FORM_ID}_{FIELD_ID}<\/code>.<\/td><\/tr><tr><td><code>data.options<\/code><\/td><td>object<\/td><td>The options for the datepicker.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-examples\">Examples<\/h2>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f5955221\"><strong>Note<\/strong>: Replace <code>input_{FORM_ID}_{FIELD_ID}<\/code> with the input IDs for your specific fields.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-weekends-only\">Weekends only<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        data.options.disableWeekdays = true;\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-no-weekends\">No weekends<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        data.options.disableWeekends = true;\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-datepicker-1-becomes-mindate-for-datepicker-2\">Datepicker 1 becomes minDate for datepicker 2<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        if ( data.input.id === &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            data.options.minDate = new Date( document.getElementById( &#039;input_{FORM_ID}_{FIELD_ID}&#039; ).value );\n        }\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-datepicker-1-1-month-becomes-mindate-for-datepicker-2\">Datepicker 1 + 1 month becomes minDate for datepicker 2<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        if ( data.input.id === &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            selectedDate = new Date( document.getElementById( &#039;input_{FORM_ID}_{FIELD_ID}&#039; ).value );\n            datePlusOneMonth = new Date( selectedDate.getFullYear(), selectedDate.getMonth() + 1, selectedDate.getDate() );\n            data.options.minDate = datePlusOneMonth;\n        }\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disable-specific-dates\">Disable specific dates<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.configure = function( dc ) {\n            const disabledDates = &#x5B; &#039;2026\/04\/14&#039;, &#039;2026\/04\/23&#039;, &#039;2026\/04\/29&#039;, &#039;2026\/06\/10&#039;, &#039;2026\/06\/11&#039; ];\n\n            for ( const dateStr of disabledDates ) {\n                const disabledDate = new Date( dateStr );\n                const y = disabledDate.getFullYear();\n                const monthIndex = disabledDate.getMonth();\n                const day = disabledDate.getDate();\n                if ( ! dc.range&#x5B; monthIndex ].disabled&#x5B; y ] ) {\n                    dc.range&#x5B; monthIndex ].disabled&#x5B; y ] = &#x5B;];\n                }\n                dc.range&#x5B; monthIndex ].disabled&#x5B; y ].push( day );\n            }\n        };\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-restrict-selectable-dates-to-specific-ranges\">Restrict selectable dates to specific ranges<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.configure = function( dc ) {\n            const disabledRanges = &#x5B;\n                { start: &#039;2026\/04\/10&#039;, end: &#039;2026\/04\/25&#039; },\n                { start: &#039;2026\/06\/01&#039;, end: &#039;2026\/06\/12&#039; },\n            ];\n\n            const isInRange = function( year, month, day, ranges ) {\n                const date = new Date( year, month, day );\n                for ( const range of ranges ) {\n                    const start = new Date( range.start );\n                    const end = new Date( range.end );\n                    if ( date &gt;= start &amp;&amp; date &lt;= end ) {\n                        return true;\n                    }\n                }\n                return false;\n            };\n\n            const viewMonth = dc.range.current.month;\n            const viewYear = dc.range.current.year;\n            const disabled = &#x5B;];\n            const lastDay = new Date( viewYear, viewMonth + 1, 0 ).getDate();\n            for ( let day = 1; day &lt;= lastDay; day++ ) {\n                if ( isInRange( viewYear, viewMonth, day, disabledRanges ) ) {\n                    disabled.push( day );\n                }\n            }\n            if ( ! dc.range&#x5B; viewMonth ].disabled ) {\n                dc.range&#x5B; viewMonth ].disabled = {};\n            }\n            dc.range&#x5B; viewMonth ].disabled&#x5B; viewYear ] = disabled;\n        };\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disable-specific-dates-and-a-certain-day-of-the-week\">Disable specific dates and a certain day of the week<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.configure = function( dc ) {\n            dc.range.disabledWDays = &#x5B; 0, 6 ]; \/\/ 0 is Sunday, 6 is Saturday\n\n            const disabledDates = &#x5B; &#039;2026\/04\/14&#039;, &#039;2026\/04\/23&#039;, &#039;2026\/04\/29&#039;, &#039;2026\/06\/10&#039;, &#039;2026\/06\/11&#039; ];\n\n            for ( const dateStr of disabledDates ) {\n                const disabledDate = new Date( dateStr );\n                const y = disabledDate.getFullYear();\n                const monthIndex = disabledDate.getMonth();\n                const day = disabledDate.getDate();\n                if ( ! dc.range&#x5B; monthIndex ].disabled&#x5B; y ] ) {\n                    dc.range&#x5B; monthIndex ].disabled&#x5B; y ] = &#x5B;];\n                }\n                dc.range&#x5B; monthIndex ].disabled&#x5B; y ].push( day );\n            }\n        };\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-setting-local-translations\">Setting local translations<\/h3>\n\n\n\n<p>The datepicker automatically uses the site language and displays translated strings, provided they have been translated. No additional configuration is needed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disable-past-dates\">Disable past dates<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.minDate = 0;\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disable-month-and-year-selection\">Disable month and year selection<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.monthSelect = false;\n        data.options.yearSelect = false;\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disable-specific-months\">Disable specific months<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.monthSelect = false;\n        data.options.yearSelect = false;\n\n        \/\/ Month numbers 1-12 (Jan = 1, Dec = 12).\n        const fullyDisabledMonths = &#x5B; 1, 2 ];\n\n        data.options.configure = function( dc ) {\n            const viewMonth = dc.range.current.month;\n            if ( ! fullyDisabledMonths.includes( viewMonth + 1 ) ) {\n                return;\n            }\n            const disabled = &#x5B;];\n            for ( let d = 1; d &lt;= dc.range&#x5B; viewMonth ].max; d++ ) {\n                disabled.push( d );\n            }\n            dc.range&#x5B; viewMonth ].disabled&#x5B; dc.range.current.year ] = disabled;\n        };\n\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-force-the-week-to-start-on-monday\">Force the week to start on Monday<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        data.options.wdOffset = 1; \/\/ 0 is Sunday, 6 is Saturday\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-allow-selection-for-other-months-days\">Allow selection for other months&#8217; days<\/h3>\n\n\n\n<p>This is not supported by the datepicker.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-hide-dates-in-other-months\">Hide dates in other months<\/h3>\n\n\n\n<p>The datepicker displays only days from the current month by default. No additional configuration is needed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disable-specific-days-of-the-week\">Disable specific days of the week<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;gform\/post_render&#039;, function( event ) {\n    gform.utils.addFilter( &#039;gform\/datepicker\/pre_init&#039;, function( data ) {\n        \/\/ Skip if not the datepicker we want to configure. Inputs are in the format of input_{FORM_ID}_{FIELD_ID}.\n        if ( data.input.id !== &#039;input_{FORM_ID}_{FIELD_ID}&#039; ) {\n            return data;\n        }\n\n        data.options.configure = function( dc ) {\n            dc.range.disabledWDays = &#x5B; 0, 6 ]; \/\/ 0 is Sunday, 6 is Saturday\n        };\n        return data;\n    } );\n} );\n<\/pre><\/div>\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"h-placement\">Placement<\/h2>\n\n\n\n<p>Reference the article <a href=\"https:\/\/docs.gravityforms.com\/adding-javascript-code-to-the-frontend-of-your-site\/\">Adding JavaScript Code to the Frontend of Your Site<\/a>.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-source-code\">Source Code<\/h2>\n\n\n\n<p>This filter is located in <code>assets\/js\/src\/common\/datepicker\/index.js<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-since\">Since<\/h2>\n\n\n\n<p>This filter was added in Gravity Forms 3.0.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article explains how to use the gform\/datepicker\/pre_init filter to modify the options used to initialize a field&#8217;s datepicker before it is rendered.<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_autodraft_ids":[],"_sb_is_suggestion_mode":false,"_sb_show_suggestion_boards":false,"_sb_show_comment_boards":false,"_sb_suggestion_history":"","_sb_update_block_changes":"","_is_real_time_mode":false,"_realtime_collaborators":"","footnotes":"","jetpack_post_was_ever_published":false,"cf_checklist_status":["SEO Title Length","Alt Text for All Images","Category Assigned"]},"categories":[210],"tags":[],"class_list":["post-49414","post","type-post","status-publish","format-standard","hentry","category-javascript","wpautop"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.9 (Yoast SEO v27.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>gform\/datepicker\/pre_init - Gravity Forms Documentation<\/title>\n<meta name=\"description\" content=\"This article explains how to use the gform\/datepicker\/pre_init filter to modify the options used to initialize a field&#039;s datepicker before it is rendered.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"gform\/datepicker\/pre_init\" \/>\n<meta property=\"og:description\" content=\"This article explains how to use the gform\/datepicker\/pre_init filter to modify the options used to initialize a field&#039;s datepicker before it is rendered.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/\" \/>\n<meta property=\"og:site_name\" content=\"Gravity Forms Documentation\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-24T19:15:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-24T19:15:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/docs.gravityforms.com\/wp-content\/uploads\/2023\/08\/gf-docs-default-v3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"544\" \/>\n\t<meta property=\"og:image:height\" content=\"288\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dario\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@gravityforms\" \/>\n<meta name=\"twitter:site\" content=\"@gravityforms\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dario\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/\"},\"author\":{\"name\":\"Dario\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#\\\/schema\\\/person\\\/acf2ff624683e2d7264ba969921fd50e\"},\"headline\":\"gform\\\/datepicker\\\/pre_init\",\"datePublished\":\"2026-06-24T19:15:38+00:00\",\"dateModified\":\"2026-06-24T19:15:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/\"},\"wordCount\":203,\"publisher\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#organization\"},\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/\",\"url\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/\",\"name\":\"gform\\\/datepicker\\\/pre_init - Gravity Forms Documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#website\"},\"datePublished\":\"2026-06-24T19:15:38+00:00\",\"dateModified\":\"2026-06-24T19:15:42+00:00\",\"description\":\"This article explains how to use the gform\\\/datepicker\\\/pre_init filter to modify the options used to initialize a field's datepicker before it is rendered.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/gform-datepicker-pre_init\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/docs.gravityforms.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"gform\\\/datepicker\\\/pre_init\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#website\",\"url\":\"https:\\\/\\\/docs.gravityforms.com\\\/\",\"name\":\"Gravity Forms Documentation\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/docs.gravityforms.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#organization\",\"name\":\"Gravity Forms\",\"url\":\"https:\\\/\\\/docs.gravityforms.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/docs.gravityforms.com\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/gravity-forms-2020-logo-stacked.png\",\"contentUrl\":\"https:\\\/\\\/docs.gravityforms.com\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/gravity-forms-2020-logo-stacked.png\",\"width\":392,\"height\":515,\"caption\":\"Gravity Forms\"},\"image\":{\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/gravityforms\",\"http:\\\/\\\/@gravityforms.com\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/docs.gravityforms.com\\\/#\\\/schema\\\/person\\\/acf2ff624683e2d7264ba969921fd50e\",\"name\":\"Dario\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b04dae864801947724ed88af0a96d38fc6068202143a3524df343d2858de9023?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b04dae864801947724ed88af0a96d38fc6068202143a3524df343d2858de9023?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b04dae864801947724ed88af0a96d38fc6068202143a3524df343d2858de9023?s=96&d=mm&r=g\",\"caption\":\"Dario\"},\"url\":\"https:\\\/\\\/docs.gravityforms.com\\\/author\\\/darion\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"gform\/datepicker\/pre_init - Gravity Forms Documentation","description":"This article explains how to use the gform\/datepicker\/pre_init filter to modify the options used to initialize a field's datepicker before it is rendered.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/","og_locale":"en_US","og_type":"article","og_title":"gform\/datepicker\/pre_init","og_description":"This article explains how to use the gform\/datepicker\/pre_init filter to modify the options used to initialize a field's datepicker before it is rendered.","og_url":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/","og_site_name":"Gravity Forms Documentation","article_published_time":"2026-06-24T19:15:38+00:00","article_modified_time":"2026-06-24T19:15:42+00:00","og_image":[{"width":544,"height":288,"url":"https:\/\/docs.gravityforms.com\/wp-content\/uploads\/2023\/08\/gf-docs-default-v3.png","type":"image\/png"}],"author":"Dario","twitter_card":"summary_large_image","twitter_creator":"@gravityforms","twitter_site":"@gravityforms","twitter_misc":{"Written by":"Dario","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/#article","isPartOf":{"@id":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/"},"author":{"name":"Dario","@id":"https:\/\/docs.gravityforms.com\/#\/schema\/person\/acf2ff624683e2d7264ba969921fd50e"},"headline":"gform\/datepicker\/pre_init","datePublished":"2026-06-24T19:15:38+00:00","dateModified":"2026-06-24T19:15:42+00:00","mainEntityOfPage":{"@id":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/"},"wordCount":203,"publisher":{"@id":"https:\/\/docs.gravityforms.com\/#organization"},"articleSection":["JavaScript"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/","url":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/","name":"gform\/datepicker\/pre_init - Gravity Forms Documentation","isPartOf":{"@id":"https:\/\/docs.gravityforms.com\/#website"},"datePublished":"2026-06-24T19:15:38+00:00","dateModified":"2026-06-24T19:15:42+00:00","description":"This article explains how to use the gform\/datepicker\/pre_init filter to modify the options used to initialize a field's datepicker before it is rendered.","breadcrumb":{"@id":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.gravityforms.com\/gform-datepicker-pre_init\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.gravityforms.com\/"},{"@type":"ListItem","position":2,"name":"gform\/datepicker\/pre_init"}]},{"@type":"WebSite","@id":"https:\/\/docs.gravityforms.com\/#website","url":"https:\/\/docs.gravityforms.com\/","name":"Gravity Forms Documentation","description":"","publisher":{"@id":"https:\/\/docs.gravityforms.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.gravityforms.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.gravityforms.com\/#organization","name":"Gravity Forms","url":"https:\/\/docs.gravityforms.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.gravityforms.com\/#\/schema\/logo\/image\/","url":"https:\/\/docs.gravityforms.com\/wp-content\/uploads\/2020\/01\/gravity-forms-2020-logo-stacked.png","contentUrl":"https:\/\/docs.gravityforms.com\/wp-content\/uploads\/2020\/01\/gravity-forms-2020-logo-stacked.png","width":392,"height":515,"caption":"Gravity Forms"},"image":{"@id":"https:\/\/docs.gravityforms.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/gravityforms","http:\/\/@gravityforms.com"]},{"@type":"Person","@id":"https:\/\/docs.gravityforms.com\/#\/schema\/person\/acf2ff624683e2d7264ba969921fd50e","name":"Dario","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b04dae864801947724ed88af0a96d38fc6068202143a3524df343d2858de9023?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b04dae864801947724ed88af0a96d38fc6068202143a3524df343d2858de9023?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b04dae864801947724ed88af0a96d38fc6068202143a3524df343d2858de9023?s=96&d=mm&r=g","caption":"Dario"},"url":"https:\/\/docs.gravityforms.com\/author\/darion\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pdGaEa-cR0","_links":{"self":[{"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/posts\/49414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/comments?post=49414"}],"version-history":[{"count":16,"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/posts\/49414\/revisions"}],"predecessor-version":[{"id":49456,"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/posts\/49414\/revisions\/49456"}],"wp:attachment":[{"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/media?parent=49414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/categories?post=49414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docs.gravityforms.com\/wp-json\/wp\/v2\/tags?post=49414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}