Fullcalendar Scheduler v4中的eventDrop,oldResource和newResource

时间:2019-04-17 12:07:41

标签: javascript fullcalendar fullcalendar-scheduler fullcalendar-4

我正试图最终创建一个PHP脚本来更新mysql。当我一步一步地尝试设置变量并使js正确运行时,我很难更改调度程序中的“资源”室。

如果我更改活动的地点并更改会议室,则会收到JS警报,提示“标题从[旧时间]移至[新时间]。旧会议室[oldresource]。新会议室[newresource]” 。效果很好。

但是,如果我将事件在同一天移到某个位置,则会收到错误消息-因为info.oldResource和info.newResource仅在事件移至新资源时可用。如果它们在同一资源内移动,则该对象不存在。

我尝试在IF语句中工作。控制台日志显示为空,但我的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();
    }}
},

1 个答案:

答案 0 :(得分:1)

您在这里不需要typeof。只是写

if (info.oldResource != null) 

相反。

P.s。如果您在设置为typeof的属性上调用null,我希望typeof调用返回“对象”,而不是“空”。但是就像我说的那样,这无关紧要,因为您不需要它。只需直接检查值null