2015-04-12 48 views
0

我正在使用FullCalendar进行调度。我似乎无法添加任何事件到我的mysql数据库,因为我得到一个错误:Bootstrap FullCalendar未捕获TypeError:undefined不是函数

未捕获TypeError:undefined不是函数。

镀铬突出显示的下面一行:

var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss"); 

任何想法,为什么?我有fullCalendar v 2.1.1。正确引用。

下面是完整的脚本。

//do all the calendar stuff for adding a new appt. 
var date = new Date(); 
var d = date.getDate(); 
var m = date.getMonth(); 
var y = date.getFullYear(); 

var calendar = $("#calendar").fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay' 
    }, 
    editable: true, 
    slotDuration: '00:10:00', 
    defaultView: 'agendaWeek', 
    draggable: true, 
    events: 'json_appointments.php', 
    eventRender: function(event, element, view) { 
     if (event.allDay == true) { 
     event.allDay = true; 
     } else { 
     event.allDay = false; 
     } 
    }, 
    eventClick: function(event, jsEvent, view) { 
     $('#modalTitle').html(event.title); 
     $('#modalBody').html(event.reason + ' ' + event.pre_notes); 
     $('#fullCalModal').modal(); 
    }, 
    loading: function(bool) { 
     if (bool) $('#loading').show(); 
     else $('#loading').hide(); 
    }, 
    selectable: true, 
    selectHelper: true, 
    select: function(start, end, allDay) { 
     var title = prompt('Event Title:'); 
     if (title) { 
      var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss"); 
      var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss"); 
      $.ajax({ 
       url: 'ajax_add_appt.php', 
       data: 'title='+ title+'&start='+ start +'&end='+ end, 
       type: "POST", 
       success: function(json) { 
       alert('Added Successfully'); 
       } 
      }); 
      calendar.fullCalendar('renderEvent', 
       { 
       title: title, 
       start: start, 
       end: end, 
       allDay: allDay 
       }, 
      true // make the event "stick" 
      ); 
     } 

     calendar.fullCalendar('unselect'); 
    }, 
    eventDrop: function(event, delta) { 
     var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss"); 
     var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss"); 
     $.ajax({ 
      url: '', 
      data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id , 
      type: "POST", 
      success: function(json) { 
       alert("Updated Successfully"); 
      } 
     }); 
    }, 
    eventResize: function(event) { 
     var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss"); 
     var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss"); 
     $.ajax({ 
     url: 'http://localhost:8888/fullcalendar/update_events.php', 
     data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id , 
     type: "POST", 
     success: function(json) { 
     alert("Updated Successfully"); 
     } 
     }); 

    } 
}); 
+1

可能的重复:http://stackoverflow.com/questions/24729721/fullcalender-formatdate-not-working?检查Tifa的答案可能的原因和修复 –

+0

最有可能你错过了[momentjs](http://momentjs.com/)。您需要将其添加到您的项目中,因为Fullcalendar现在依靠Moment.js格式化日期。 –

回答

1

感谢您的意见。我确实有moment.js引用。

我不得不修改我的脚本是这样的:

var start=moment(start).format('YYYY-MM-DDTHH:mm:ssZ'); 
var end=moment(end).format('YYYY-MM-DDTHH:mm:ssZ'); 

...基于该阿尔瓦罗提到的其他堆栈链接。谢谢。

相关问题