在完整日历中保存事件时出现问题

Trouble saving event in fullcalendar

本文关键字:问题 事件 保存 日历      更新时间:2023-09-26

我可以将事件保存在数据库中,但它保存的日期不同。

当我点击一个日期时,它会询问事件名称并保存它。事件保存在当天的当前日期,而不是我选择/点击的日期。

它在数据库上节省的时间也取决于计算机的当前时间。

我正在使用v2.1

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<link href='css/fullcalendar.css' rel='stylesheet' />
<link href='css/fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='js/moment.min.js'></script>
<script src='js/jquery.min.js'></script>
<script src='js/fullcalendar.min.js'></script>

<script>
$(document).ready(function() {
    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        editable: true,
        events:  "http://localhost/fullcalendar/events.php",
        selectable:true,
        select: function(start,end,title,date){
            var title = prompt('Event Title:');
            //var eventData;
            if(title){
                 var start = $.fullCalendar.moment().format();
                 var end = $.fullCalendar.moment().format();
                 $.ajax({
                        url:'http://localhost/fullcalendar/add_events.php',
                        data: 'title=' + title +'&start='+ start +'&end='+ end,
                        type:"POST",
                        success: function(json){
                            alert('Added Sucessfully');
                        }   
                 });

                 eventData = {
                        title:title,
                        start:start,
                        end:end,
                 };
                 $('#calendar').fullCalendar('renderEvent', eventData, true); //this makes the event stick on the calendar but not save on the database
            }
                $('#calendar').fullCalendar('unselect');
        },
        eventLimit:true,        

    });

});
 </script>
 <style>
body {
    margin: 0;
    padding: 0;
    font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
    font-size: 14px;
}
#calendar {
    width: 900px;
    margin: 40px auto;
}
</style>
</head>
<body>
<div id='calendar'></div>
</body>
</html>

select函数中,您有以下代码:

var start = $.fullCalendar.moment().format();
var end = $.fullCalendar.moment().format();

这意味着您将覆盖startend参数。在使用时,startend将具有当前日期时间,而不是用户选择的日期时间。

如果删除这两行,它应该可以正常工作。

var start = $.fullCalendar.moment(start).format(YYYY/MM/DD);
var end = $.fullCalendar.moment(end).format(YYYY/MM/DD);