| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
1 // $Id: webform.js,v 1.1.2.5 2010/08/30 16:58:02 quicksketch Exp $ 2 3 /** 4 * JavaScript behaviors for the front-end display of webforms. 5 */ 6 7 (function ($) { 8 9 Drupal.behaviors.webform = function(context) { 10 // Calendar datepicker behavior. 11 Drupal.webform.datepicker(context); 12 }; 13 14 Drupal.webform = Drupal.webform || {}; 15 16 Drupal.webform.datepicker = function(context) { 17 $('div.webform-datepicker').each(function() { 18 var $webformDatepicker = $(this); 19 var $calendar = $webformDatepicker.find('input.webform-calendar'); 20 var startYear = $calendar[0].className.replace(/.*webform-calendar-start-(\d+).*/, '$1'); 21 var endYear = $calendar[0].className.replace(/.*webform-calendar-end-(\d+).*/, '$1'); 22 var firstDay = $calendar[0].className.replace(/.*webform-calendar-day-(\d).*/, '$1'); 23 24 // Ensure that start comes before end for datepicker. 25 if (startYear > endYear) { 26 var greaterYear = startYear; 27 startYear = endYear; 28 endYear = greaterYear; 29 } 30 31 // Set up the jQuery datepicker element. 32 $calendar.datepicker({ 33 dateFormat: 'yy-mm-dd', 34 yearRange: startYear + ':' + endYear, 35 firstDay: parseInt(firstDay), 36 onSelect: function(dateText, inst) { 37 var date = dateText.split('-'); 38 $webformDatepicker.find('select.year, input.year').val(+date[0]); 39 $webformDatepicker.find('select.month').val(+date[1]); 40 $webformDatepicker.find('select.day').val(+date[2]); 41 }, 42 beforeShow: function(input, inst) { 43 // Get the select list values. 44 var year = $webformDatepicker.find('select.year, input.year').val(); 45 var month = $webformDatepicker.find('select.month').val(); 46 var day = $webformDatepicker.find('select.day').val(); 47 48 // If empty, default to the current year/month/day in the popup. 49 var today = new Date(); 50 year = year ? year : today.getFullYear(); 51 month = month ? month : today.getMonth() + 1; 52 day = day ? day : today.getDate(); 53 54 // jQuery UI Datepicker will read the input field and base its date off 55 // of that, even though in our case the input field is a button. 56 $(input).val(year + '-' + month + '-' + day); 57 } 58 }); 59 60 // Prevent the calendar button from submitting the form. 61 $calendar.click(function(event) { 62 $(this).focus(); 63 event.preventDefault(); 64 }); 65 }); 66 } 67 68 })(jQuery);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |