Ошибка Javascript при попытке создать календарь
Я новичок в javascript и php и у меня небольшая проблема.
Я пытаюсь создать календарь php, который взаимодействует с базой данных mysql, и пытаюсь написать некоторые javascript для добавления событий в календарь.
Мои события выводятся из базы данных mysql, но всякий раз, когда я нажимаю, чтобы добавить событие в календарь, я получаю ошибку в консоли, говорящую "uncaught TypeError: undefined is not a function", которая, по-видимому, вызвана этими строками в коде:
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 ответ:
Вместо строк
var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss"); var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");Use (позаботьтесь о том, чтобы не переопределять локальные переменные 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 находится здесь:
Comments