fullcalendar调度程序v4中的eventDrop,oldResource和newResource

问题描述 投票:0回答:1

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

如果我改变事件的位置并更改房间,我会收到一条JS警告说“标题从[旧时间]下降到[新时间]。旧房间[oldresource]。新房间[newresource]”。这很好用。

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

我试着在IF声明中工作。控制台日志显示为null,但我的if语句没有停止处理其余代码。这最终(我认为)会导致命令无法正常运行 - 一旦我将它们传递给PHP。

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

我的代码是这样的:

    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();
    }}
},
javascript fullcalendar fullcalendar-scheduler fullcalendar-4
1个回答
1
投票

你这里不需要typeof。写吧

if (info.oldResource != null) 

代替。

附:如果你在一个设置为typeof的属性上调用null,我希望typeof调用返回“object”,而不是“null”。但就像我说的那样,这是无关紧要的,因为你不需要它。只需直接检查值null

© www.soinside.com 2019 - 2024. All rights reserved.