I am working on a schedule using FullCalendar and I hit a bit. I am trying to use event callback functions to create a new event and send new event information to my php script, which then stores the information on the server. But whenever I try to call $ .ajax or $ .post from one of the callbacks (and I tried if there are several of them in them), I get the following:
Uncaught TypeError: Cannot read property 'month' of undefined moment.js:684 extend.monthsShort moment.js:684 e jquery.min.js:4 Bc jquery.min.js:4 Bc jquery.min.js:4 Bc jquery.min.js:4 n.param jquery.min.js:4 n.extend.ajax jquery.min.js:4 $.fullCalendar.select advisorSchedule.js:141 Q fullcalendar.min.js:6 s fullcalendar.min.js:7 a fullcalendar.min.js:7 (anonymous function) fullcalendar.min.js:6 d jquery.min.js:3 n.event.dispatch jquery.min.js:3 r.handle
But since I used Moment.min.js, it was hard to read where the problem came from, so I replace Moment.min.js with Moment.js, and when the error popped up again, I was able to read where the problem is:
months : function (m) { return this._months[m.month()]; },
From what I compiled, m is undefined by the time this function is executed. Here is the code I used to post the new event data in a php script:
select:function(start, end, jsEvent, view){ CURRENT_SELECTION_START = start; CURRENT_SELECTION_END = end; console.log(CURRENT_SELECTION_START + '-' + CURRENT_SELECTION_END); $.ajax({ url:'../AJAX/save_event.php', type: 'POST', data: { Start_Time: start, Event_Title: prompt('Title'), End_Time: end }, }); },
ajax callback momentjs typeerror fullcalendar
Nickleach
source share