如何使用全日历 v4 将事件保存在数据库中



以前,我使用Ajax来保存事件,这没关系。但是现在,有了 v4,我的代码不再工作,就像 Ajax 不再识别一样。有人有解决方案吗?

我在 v3.09 中的代码

eventDrop: function(event, delta, revertFunc) { // Déplacement d'une événement
    var date = new Date();
    if (($.fullCalendar.formatDate(event.start, "M")>=date.getMonth()+1 && $.fullCalendar.formatDate(event.start, "D")>=date.getDate()) || ($.fullCalendar.formatDate(event.start, "M")>date.getMonth()+1)) {
        $.ajax({
            url: 'php/update_events.php',
            data: 'title='+ event.title+'&start='+ $.fullCalendar.formatDate(event.start, "YYYY-MM-DD HH:mm:ss") +'&end='+ $.fullCalendar.formatDate(event.end, "YYYY-MM-DD HH:mm:ss") +'&id='+ event.id ,
            type: "POST",
            success: function(json) {
                $('#script-info').show();
                setTimeout('divOff()',1000);
            }
        });
    } else {
        alert ("Vous ne pouvez pas déplacer une absence à une date antérieure à la date du jour.");
        revertFunc();
    }
},

我在 v4 中的代码

eventDrop: function(info) {
    var date = new Date();
    if (calendar.formatDate(info.event.start, {month: 'numeric'})>=date.getMonth()+1 && calendar.formatDate(info.event.start, {day: 'numeric'})>=date.getDate()) {
         $.ajax({
            url: 'php/update_events.php',
            data: 'title="Test"',
            type: "POST",
            success: function(json) {
                $('#script-info').show();
                setTimeout('divOff()',1000);
            }
        });
    alert('Ok');
    } else {
        alert('Vous ne pouvez pas déplacer un créneau de sport à une date antérieure à la date du jour.');
        info.revert();
    }
}

你给我解决方案!我已经删除了脚本src='lib/jquery.min.js'脚本。

我真蠢!所以,它又起作用了。很抱歉给您带来不便

不确定这是否对其他人有帮助,但是如果您想在 V4 中通过 ajax 保存事件,这就是我所做的假设 calEvent 来自 V4 中的事件类型(单击、拖动等(:

eventClick: function (calEvent) {  var cloned= jQuery.extend(true, {},calendar.getEventById( calEvent.event.id ));
cloned.start=clientEvents[i].start;
cloned.end=clientEvents[i].end;
cloned.title=clientEvents[i].title
delete cloned.jsEvent;
delete cloned.view;

上面显示了如何克隆事件(需要jquery(,然后添加自定义属性,删除一些不需要的属性,并最终将其转换为JSON以发送回服务器。

最新更新