fullcalendar scheduler v4 中的 eventDrop、oldResource 和 newResource

eventDrop, oldResource and newResource in fullcalendar scheduler v4

我正试图最终创建一个 php 脚本来更新 mysql。当我一步一步尝试设置变量并让 js 正常运行时,我很难更改调度程序中的 'resource' 个房间。

如果我更改活动地点和房间,我会收到一条 JS 警报,内容为 "Title was dropped on to [new time] from [old time]. Old room [oldresource]. New Room [newresource]"。效果不错。

但是,如果我在同一天将活动移至某个位置,则会出现错误 - 因为 info.oldResource 和 info.newResource 仅在活动已移至新资源时可用。如果他们在同一资源内移动,则该对象不存在。

我尝试使用 IF 语句。控制台日志显示 null,但我的 if 语句没有停止其余代码的处理。这最终(我认为)会导致命令不正确 运行 - 一旦我将它们传递给 PHP.

我计划使用不包含 oldResource 或 newResource 对话的 'else' 语句来处理保留在同一资源中的更改。

我的代码是这样的:

    eventDrop: function(info) {
if (typeof info.oldResource !=="null")   {
    var oll = console.log(info.oldResource);
    var nww = console.log(info.newResource);
    var oldroom = (info.oldResource.id);
    var newroom = (info.newResource.id);
    var newtitle = info.event.title;
    /*if (oldroom = newroom) {alert ("Same Room");}*/
alert(newtitle + " was dropped on " + info.event.start.toString() + ".Old Time: " + info.oldEvent.start.toString() + ". From: " + oldroom + ". To: " + newroom );

    if (!confirm("Are you sure about this change?")) {
    info.revert();
    }}
},

这里不需要typeof。随便写

if (info.oldResource != null) 

相反。

P.s。如果您在设置为 null 的 属性 上调用 typeof,我希望 typeof 调用 return "object",而不是 "null".但正如我所说,它无关紧要,因为你不需要它。只需直接检查值 null