我是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');
},
});
});
答案 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在这里: