Increase date range on dropdown
-
Hello there,
I recently started using cform2 and it has helped me so much for creating a registration form on my site so big thanks to the developer.
However with the date picker it only allows 20 years in the year selection from 2005-2025. Is it possible to increase this?
Or could you tell me where the javascript file for the datepicker is stored?
Thanks in advance for any help,
Spids
-
Can anybody please shed some light on this issue?
You should edit lib_functions.php.
Search for the call to
wp_localize_script(‘cforms-calendar’, ‘cforms2_cal’, array(
…
) );You can add a key => value pair to the array parameter with the key set to ‘yearRange’ and the value set according to http://api.jqueryui.com/datepicker/#option-yearRange
Example: ‘yearRange’ => ‘2000:2050’
Hi bgermann!
I don’t understand exactly, what else I have to do to get the year range work.
As suggested by you, I added the key ‘yearRange’ => ‘2000:2050‘ in the file lib_functions.php.
But after saving this edit, I can’t load my site anymore.
So, do I have to enter somewhere else something more?Thank you in advance about a timely response!
ChipyOK, sorry, solved it & got it to work!
I just forgot to put a coma in the end of the new line of the key.Sorry.
I’m also using this hard-coded year-range in the lib_functions.php and in former versions in the cforms.php.
It’s working well, but after each update of cforms it has to be hard-coded again.
Would it be possible to add these parameters to the global datepicker settings in the admin menu?
Thanks, Oliver!I second Kurti75’s request.
Adding this as an option which won’t be overwritten would be great, ideally using a +/- counter instead of specific years in the selector.
I made some changes in the cforms-global-settings.php and the lib_functions.php to:
– Enable month selection drop down in global settings
– Set the datepickers year range in the global settings
– Set the year which is shown first when the datepicher pops upI think it would be great to add these changes to the next cforms version!
Here are the changes:
in the lib_functions.php:
added this lines after line 171:'changeMonth' => $nav[7]==1, 'yearRange' => stripslashes($nav[8]), 'defaultDate' => stripslashes($nav[9]),in the cforms-global-settings.php:
added this lines after line 89:$nav[7]=cforms2_get_boolean_from_request('cforms_dp_Mbuttons'); $nav[8]=cforms2_get_from_request('cforms_dp_yearrange'); $nav[9]=cforms2_get_from_request('cforms_dp_popupyear');and this code after line 255:
<tr class="ob"> <?php $nav = $cformsSettings['global']['cforms_dp_nav']; ?> <td class="obL"></td> <td class="obR"><input class="allchk" type="checkbox" id="cforms_dp_Mbuttons" name="cforms_dp_Mbuttons" <?php if($nav[7]=="1") echo "checked=\"checked\""; ?>/><label for="cforms_dp_Mbuttons"><strong><?php _e('Enable month selection drop down', 'cforms2') ?></strong></label></td> </tr> <tr class="ob"> <td class="obL"><label for="cforms_dp_yearrange"><strong><?php _e('Yearrange', 'cforms2'); ?></strong></label></td> <td class="obR"><input type="text" id="cforms_dp_yearrange" name="cforms_dp_yearrange" value="<?php echo stripslashes(htmlspecialchars( $nav[8] )); ?>"/></td> </tr> <tr class="ob"> <td class="obL"><label for="cforms_dp_popupyear"><strong><?php _e('PopUpYear', 'cforms2'); ?></strong></label></td> <td class="obR"><input type="text" id="cforms_dp_popupyear" name="cforms_dp_popupyear" value="<?php echo stripslashes(htmlspecialchars( $nav[9] )); ?>"/></td> </tr>Thanks @kurti75. I will give it a try.
Thanks for the update in the new cforms version 14.12,
but how do I use more than one option?
One works well but two or more not:Could you please give me a hint how to seperate the options, I tried a lot but unfortunately without success.
{ "changeMonth": true, "changeYear": true }Thanks
Your example is right and works for me. You should give a URL with this configuration that shows just one of year or month dropdown to help me figure it out.
I tried using this and it threw a syntax error, with no way to retrieve the settings I’d using previously:
{ "changeMonth": true, "changeYear": true, "firstDay": 1, "maxDate": "+1m", "minDate": "-20y”, “yearRange”: “2000:2020” }On one of my sites I have multiple forms, including one which asks for a booking date and the visitor’s date of birth. Would it be possible to implement something in future which allowed for different settings on each date field?
@rsimpson You have five wrong quotes in the last two key:value pairs in your JSON.
It is possible to implement a per field setting. I will keep this as a task for later.
Well spotted sir! Don’t you just hate rich text?
Got it working now.
If you manage to implement a per field setting that would be absolutely ideal 🙂
The topic ‘Increase date range on dropdown’ is closed to new replies.