Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> dhtmlxCalendar проблема, .setDate is not a function 
:(
    Опции темы
Danger
Дата 11.6.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Hello,
Использую dhtmlxCalendar (http://dhtmlx.com) для отображения календаря, вполне доволен функциональностью. 
Столкнулся с такой проблемой: не удается вызвать функцию объекта календаря (возможно, где-то моя ошибка в синтаксисе).
HTML-код страницы:
Код

<script>
    
 var mCal;
    window.onload = function () {
        // basic calendar
        mCal = new dhtmlxCalendarObject('BaseCalendar', true, {isYearEditable: true});
        mCal.loadUserLanguage('ru');
        mCal.setYearsRange(2005, 2030);    
        mCal.draw();
        // assign events handlers
        mCal.setOnClickHandler(mSelectDate);
    }
    function mSelectDate(date) {
        //
        return true;
    }
</script>
<body>
 ....................................................................... ( прочий HTML-код )
<div style="height: 180px" id="BaseCalendar"></div>
 ....................................................................... ( прочий HTML-код )
<script>
 document.getElementById('calInputFrom').value = '16.05.2008';
 document.getElementById('BaseCalendar').setDate('16.05.2008');
</script>

</body>


Такая конструкция вызывает ошибку javascript (в консоли ошибок браузера):
Код

Error: document.getElementById("BaseCalendar").setDate is not a function
Source File: http://statserver.org/session.html?date=16.05.2008
Line: 116


Соответственно дата на календаре не меняется. Подскажите, как решить проблему, в чем ошибка?

ЗЫ. Для другого контрола рядом (input c ID-ом calInputFrom) все работает нормально, значение в него заносится. Браузеры IE6/IE7, Opera 9.27 и Firefox 2.0.0.14 (под виндовс и линукс).
PM WWW ICQ Jabber   Вверх
IDVsbruck
Дата 11.6.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Думаю, что к моменту, когда уже вызывается setDate сам элемент еще не создался. Для проверки перед setDate поставь alert(document.getElementById("BaseCalendar")); - будешь точно знать.
Для гарантии установи дату точно после выполнения скрипта - в конце обработчика window.onload.
PM MAIL   Вверх
Danger
Дата 12.6.2008, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Цитата(IDVsbruck @ 11.6.2008,  15:30)
Думаю, что к моменту, когда уже вызывается setDate сам элемент еще не создался. Для проверки перед setDate поставь alert(document.getElementById("BaseCalendar")); - будешь точно знать.

Вставил алерт alert(getElementById('BaseCalendar')); перед getElementById('BaseCalendar').setDate('12.05.2008');
Теперь появляется окно с текстом:

Код

[object HTMLDivElement]


Но в календаре все равно дата не устанавливается, и сообщение об ошибке в консоли прежнее.
PM WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.