eventDrop, oldResource and newResource in fullcalendar sched



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

如果我更改事件的位置并更改房间,则会收到一条 JS 警报,指出"标题已从 [旧时间] 下降到 [新时间]。老房间[旧资源]。新房间[新资源]"。 这运作良好。

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

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

我计划有一个不包括旧资源或新资源对话的"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) 

相反。

附言如果您在设置为null的属性上调用typeof,我希望typeof调用返回"对象",而不是"null"。但就像我说的,这无关紧要,因为你不需要它。只需直接检查值null即可。

最新更新