Gravity Forms jQuery No Weekends

2019-04-09 18:00发布

I have used the gform_post_render function in Gravity Forms to create a custom datepicker using the minDate option for selection of 1 day in advance:

http://www.gravityhelp.com/documentation/page/Gform_post_render

Is there a way that I can exclude weekends? I only want the user to be able to select weekdays with one day ahead. I have tried using the beforeShowDay: $.datepicker.noWeekends but that seems to conflict with minDate

Here is my form: http://www.discountdumpsters.com/shop/30-yard-dumpster/

And here is my code:

<script type="text/javascript">
jQuery(document).bind('gform_post_render', function(){
    // destroy default Gravity Form datepicker
    jQuery("#input_1_1").datepicker('destroy');
    // create new custom datepicker
    jQuery("#input_1_1").datepicker({ defaultDate: '+1d', minDate: '+1d',     gotoCurrent: true, prevText: '', showOn: 'both', buttonImage: 'http://www.discountdumpsters.com/wp-content/plugins/gravityforms/images/calendar.png',    buttonImageOnly: true });
});
</script>

Any help would be appreciated...thanks!

3条回答
Fickle 薄情
2楼-- · 2019-04-09 18:25

I think you must enqueue your script in the footer and not in the head

查看更多
Root(大扎)
3楼-- · 2019-04-09 18:31

actually I've used your code on an external js file and it's working even with the noweekends declaration

jQuery(document).bind('gform_post_render', function(){
// destroy default Gravity Form datepicker
jQuery(".datepicker").datepicker('destroy');
// create new custom datepicker
jQuery(".datepicker").datepicker({ 
    defaultDate: '+1d', 
    minDate: '+1d',  
    gotoCurrent: true, 
    prevText: '', 
    showOn: 'both', 
    buttonImage: '/wp-content/themes/teloaggiustoio/images/calendar_icon.png',    
    buttonImageOnly: true,  
    beforeShowDay: $.datepicker.noWeekends

}); });
查看更多
孤傲高冷的网名
4楼-- · 2019-04-09 18:43

Realized I never answered this question. Here is the final code that worked for me:

jQuery(document).bind('gform_post_render', function(){
    // destroy default Gravity Form datepicker
    jQuery("#input_1_1").datepicker('destroy');
    // create new custom datepicker
    var oneWorkingDays = new Date();
    var adjustments = [0, 1, 1, 1, 1, 1, 0]; // Offsets by day of the week
    oneWorkingDays.setDate(oneWorkingDays.getDate() + 1 + adjustments[oneWorkingDays.getDay()]);
    jQuery("#input_1_1").datepicker({ beforeShowDay: jQuery.datepicker.noWeekends, minDate: '+1d', gotoCurrent: true, prevText: '', showOn: 'both', buttonImage: '/wp-content/plugins/gravityforms/images/calendar.png', buttonImageOnly: true });
});
查看更多
登录 后发表回答