Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вопрос по стандартному календарю. (http://www.flasher.ru/forum/showthread.php?t=133062)

glukaviy 26.11.2009 14:29

Вопрос по стандартному календарю.
 
По форуму полазил ответ не нашел....
не могу понять как в календаре сделать чтобы в php передавались данные в виде YYYY-mm-dd.
А Выбор был бы стандартный 26 ноября 2009.
Подскажите пожалуйста...

Добавлено через 9 часов 32 минуты
Ребят помогите плз...

DarkChris 27.11.2009 14:11

примерно так
Код AS1/AS2:

var calendarListener:Object = new Object();
var ref = this;
calendarListener.change = function(evt_obj:Object) {
  var selDate : Date = evt_obj.target.selectedDate;
  var sendDate : String = selDate.getFullYear().toString()+"-"+selDate.getMonth().toString()+"-"+selDate.getDate().toString();
  ref.sendToPHP(sendDate);
};
calendar.addEventListener("change",calendarListener);
function sendToPHP(s:String){
        trace(s);
}


glukaviy 27.11.2009 14:20

Написал вот так:

Код AS1/AS2:

_root.knopko.onRelease = function () {
 
        var calendarListener:Object = new Object();
var ref = this;
calendarListener.change = function(date_r:Object) {
  var selDate : Date = date_r.target.selectedDate;
  var sendDate : String = selDate.getFullYear().toString()+"-"+selDate.getMonth().toString()+"-"+selDate.getDate().toString();
  ref.sendToPHP(sendDate);
};
calendar.addEventListener("change",calendarListener);
function sendToPHP(s:String){
        trace(s);
}
 
 
        }

Правильно ли я понял что evt_obj - это (название окна куда выводиться календарь?)
При нажатии на кнопку trace (s); не срабатывает

Добавлено через 8 минут
Разжуйте мне, пожалуйста хочется очень понять что и к чему...

DarkChris 27.11.2009 14:35

Вложений: 1
не правильно :) evt_obj - это event object он содержит в себе информацию о произошедшем событии, evt_obj.target - это на данный момент сам календарь.
раз вам нужно при нажатии на кнопку тогда дело упрощается
например имеем календарь в руте и кнопку в руте (у календаря имя "calendar")
Код AS1/AS2:

var ref = this;
_root.knopko.onRelease = function () {
  var selDate:Date = ref.calendar.selectedDate; //выбранная дата
  var sendDate:String = selDate.getFullYear().toString()+"-"+selDate.getMonth().toString()+"-"+selDate.getDate().toString(); //эту строку будем отправлять в ПХП;
  ref.sendToPHP(sendDate); //функция отправки даты в ПХП
 
}
function sendToPHP(s:String){
  //тут пишем код отправки на данный момент просто выводится отправляемая строка в окно Output
        trace(s);
}

получить выбранную дату с календаря можно при помощи свойства selectedDate у календаря это свойство возвращает объект типа Date.
дальше нам остается только собрать дату в том виде в котором ее нужно передать ПХП, в данном случае строку в виде YYYY-mm-dd
для этого просто собираем строку. я ее собрал в переменную sendDate (getFullYear() возвращает нам выбранный год например 2009, getMonth()-месяц от 0 до 11 если нам декабрь нужен как 12 месяц для этого нужно сделать (selDate.getMonth()+1).toString();, getDate() - выбранный день )
затем мы просто передаем строку в функцию отправки. В данном коде если дата не выбрана мы получим при нажатии на кнопку строку типа undefined-undefined-undefined что бы это не происходило нужно вставить проверку на то выбрана дата или нет. получаем:
Код AS1/AS2:

var ref = this;
_root.knopko.onRelease = function () {
  var selDate:Date = ref.calendar.selectedDate; //выбранная дата
  if(selDate!=nudefined){
  var sendDate:String = selDate.getFullYear().toString()+"-"+(selDate.getMonth()+1).toString()+"-"+selDate.getDate().toString(); //эту строку будем отправлять в ПХП;
  ref.sendToPHP(sendDate); //функция отправки даты в ПХП
 }
 
}
function sendToPHP(s:String){
  //тут пишем код отправки на данный момент просто выводится отправляемая строка в окно Output
        trace(s);
}

теперь если в календаре пользователь не выбрал дату не будет срабатывать функция sendToPHP а при выбранной дате например 24 декабря 2009 года мы увидим в окне output строку "2009-12-24"

Вложение 23393


Часовой пояс GMT +4, время: 13:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.