Я использую PHP для работы с JQuery и Javascript и интегрирую fullcalendar.
Я с удовольствием смотрю календарь с событиями в течение месяцев и недель.Я также с удовольствием создаю и редактирую события в fullcalendar, используя event.Click, event.Resize и eventDrop.
Однако, когда я возвращаюсь из редактирования, а затем пытаюсь изменить месяц / неделю и т. Д., Я просто получаю NaN везде, где я ожидаю увидеть дни и так далее.Обновление выполняется для наложенного div, содержащего iframe.Скрипт в iframe вызывает функцию javascript для закрытия div и обновляет календарь с помощью reFetchEvents.Исходная страница отображается нормально, но при переходе к другой части календаря я вижу описанный эффект.
Соответствующий фрагмент из сценария отображения календаря
function close_upd(){
/* called by update script in iframe after user hits submit/cancel */
$("#update").dialog('close');
$("#calendar").fullCalendar('refetchEvents');
}
$(document).ready(function(){
$('#calendar').fullCalendar({
theme: true,
defaultView: '<?=$view;?>',
firstHour: 8,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
selectable: true,
selectHelper: true,
select: function(startdate, enddate, allDay, jsEvent, view) {
window.scrollTo(0,0);
var sd = Date.parse(startdate);
var ed = Date.parse(enddate);
$("#update").html("CALLS IFRAME");
$("#update").dialog('open');
},
editable: true,
eventClick: function(calEvent, jsEvent, view) {
window.scrollTo(0,0);
var sd = Date.parse(calEvent.start);
var ed = Date.parse(calEvent.end);
$("#update").html("CALLS IFRAME");
$("#update").dialog('open');
},
eventResize: function(calEvent,dayDelta,minuteDelta,revetFunc) {
var sd = Date.parse(calEvent.start);
var ed = Date.parse(calEvent.end);
$.post('./event_update2.php',{'allday':'false', 'event':calEvent.id, 'start':sd,'end':ed}, function(response){
if(response.length > 0){
alert(response);
revertFunc();
}
});
},
eventDrop: function(calEvent,dayDelta,minuteDelta,allDay,revetFunc) {
var sd = Date.parse(calEvent.start);
var ed = Date.parse(calEvent.end);
$.post('./event_update2.php',{'allday':allDay, 'event':calEvent.id, 'start':sd, 'end':ed}, function(response){
if(response.length > 0){
alert(response);
revertFunc();
}
});
},
eventMouseover: function( event, jsEvent, view ) {
var showdatea = $.fullCalendar.formatDate(event.start,"dS MMM yyyy");
var showdateb = $.fullCalendar.formatDate(event.start,"hh:mm");
showToolTip(jsEvent,event.title+" "+showdatea+" Starts At "+showdateb+" "+event.desc);
},
eventMouseout: function( event, jsEvent, view ) {
hideToolTip();
},
events: './event_find.php?from=PP'
});
});