Re: Horde date picker
Jan Schneider <[email protected]> Tue, 19 Dec 2017 16:25:00 +0000
| Newsgroups | gmane.comp.horde.devel |
|---|---|
| Message-ID | <[email protected]> |
You need to listen on the Horde_Calendar:select event that is fired as soon as a date is selected. See https://github.com/horde/nag/blob/master/js/calendar.js for an example of some custom code to listen to that event. Zitat von Sebastian Birnbach <[email protected]>: > All, > > meanwhile I succeeded in displaying the picker and I got rid of code that I > dont understand. > However, the picker does not seem to be linked to the form element I am > using. I am especially interested in linking it to a field of type text > (instead of YYYY-MM-DD selectors which I consider unhandy). > > So, to clarify my previous question: how is the Horde_Calendar object > attached to a form element? > > > 2017-12-18 12:41 GMT+01:00 Sebastian Birnbach <[email protected]>: > >> I am struggling to use the Horde date picker to stay as close to the Horde >> framework as possible. I did some reverse engineering and came as far as >> displaying the icon, embedding the date.js script and initializing the JS >> object. However, a click on the icon does not produce the desired display >> and the JS console says: >> >> TypeError: div is null >> Horde_Calendar.draw() calendar.js:92 >> Horde_Calendar.open() calendar.js:39 >> onclick() dossier2.php:1 >> >> >> In my form template I have this code: >> >> <tr valign="top"> >> <td align="right" width="15%"><strong>due date</strong></td> >> <td class="coreinput" style="display:none;"><input name="duedate" >> id="duedate" type="text" value="<?php echo $this->vals['duedate'] >> ?>"></input> >> <a onclick="Horde_Calendar.open('duedate', null)" title="Datum >> auswählen"> <?php echo Horde::img('calendar.png', _("Calendar"), >> 'id="startimg"'); ?></a> >> </tr> >> >> and the processing file dossier2.php file comprises this: >> >> Horde_Core_Ui_JsCalendar::init(array('full_weekdays' => true)); >> $GLOBALS['page_output']->addScriptFile('calendar.js'); >> >> This seems all very fine and sensible. >> In an attempt to mimick a similar, working page done with Horde_Forms I >> also added this JS code inline: >> >> document.observe("dom:loaded",function(){document.observe('Horde_Calendar:select', function(e) {var elt = e.element();elt.up().previous('SELECT[name$="[month]"]').setValue(e.memo.getMonth() + >> 1);elt.up().previous('SELECT[name$="[day]"]').setValue(e.memo.getDate());elt.up().previous('SELECT[name$="[year]"]').setValue(e.memo.getFullYear());});}); >> >> However, I don't really know what I am doing and it does not work anyway. >> >> >> What am I missing? What are the correct steps of embedding the date picker? >> -- Jan Schneider The Horde Project https://www.horde.org/ -- dev mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]