Календарь DHTML Михая Базона v1.0 (в /media/system/js/calendar.js) есть обратный вызов для событий onSelected
и onClose
.Так что должна быть возможность ловить, когда календарь закрывается или когда пользователь выбирает дату.
Решение 1 - Редактирование Joomla
Шаг 1 - Вам необходимо переопределить этоfile: libraries/joomla/html/html.php
// added $onSelected parameter
public static function calendar($value, $name, $id, $format = '%Y-%m-%d', $attribs = null, $onSelected)
{
...
$document->addScriptDeclaration('window.addEvent(\'domready\', function() {Calendar.setup({
inputField: "'.$id.'", // id of the input field
ifFormat: "'.$format.'", // format of the input field
button: "'.$id.'_img", // trigger for the calendar (button ID)
align: "Tl", // alignment (defaults to "Bl")
singleClick: true,
onSelected: '.$onSelected.'
});});');
...
}
Шаг 2 - Определение обратного вызова для onSelected
JHTML::_('behavior.calendar');
JHTML::calendar(date('Y-m-d'),'select_date', 'select_date', '%Y-%m-%d', null, 'userSelectedDate');
Шаг 3 - Реализация обратного вызова
function userSelectedDate(calendar, date){ ... }
Примечание: У меня нет активной установки Joomla, поэтому приведенный выше код может содержать синтаксические ошибки.
Решение 2. Более простое решение Сары
Добавить onchange
определение $attribs
параметра JHTML::calendar
:
JHTML::calendar(date('Y-m-d'),'select_date', 'select_date', '%Y-%m-%d','onchange="myfunction();"');
Посетите Веб-сайт DHTML-календаря .