尝试创建日历时出现Javascript错误

时间:2015-02-03 14:06:27

标签: javascript php jquery

我是javascript和php的新手,并且有一点问题。

我正在尝试创建一个与mysql数据库交互的php日历,并且一直在尝试编写一些javascript来将事件添加到日历中。

我的事件是从mysql数据库中提取的,但每当我点击向日历中添加一个事件时,我在控制台中收到一条错误,说“未捕获的TypeError:undefined不是一个函数”,这似乎是由这些行引起的代码:

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

我的代码如下,未显示控制台日志'测试功能成功'。请帮忙!

$(document).ready(function() {
//get current date 
 var date = new Date();
 var d = date.getDate();
 var m = date.getMonth();
 var y = date.getFullYear();


     var calendar = $('#calendar').fullCalendar({
     theme:true,
     weekNumbers: true,
     //allow a 'more' option if too many events.
     eventLimit: true,  
      //enables agenda view 
     header:{
            left:'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
         }, 

     events: 'event.php',

     selectable: true,
     selectHelper: true, 
        select: function(start, end, allDay) {
        console.log('testing function 1');
         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: 'eventadd.php',
         data: 'title='+ title+'&start='+ start +'&end='+ end ,
         type: "POST",
         success: function(json) {
         console.log('testing function success');
         alert('OK');
         }
         });
         calendar.fullCalendar('renderEvent',
         {
         title: title,
         start: start,
         end: end,
         allDay: allDay
         },
         true // make the event "stick"
         );
         }
         calendar.fullCalendar('unselect');
        },








     });

             });

1 个答案:

答案 0 :(得分:0)

而不是行

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

使用(注意不要重新定义本地varialbes start,end,这是函数的参数,也使用Moment的格式函数,根据:http://momentjs.com/docs/#/displaying/format/,如fullCalendar v2代码迁移所推荐的那样):

    var sfmated = start.format("yyyy-MM-dd HH:mm:ss");
    var efmated = end.format("yyyy-MM-dd HH:mm:ss");

一个工作的jsfiddle在这里:

http://jsfiddle.net/xv5n1wod/12/